p_table <- function(tab_data, ...) {
  tab_data_2 <- deparse(substitute(tab_data))
  
  table_p <- do.call(CreateTableOne, 
                     list(data = as.name(tab_data_2), includeNA = TRUE, ...))
  table_p_out <- print(table_p,
                       showAllLevels = TRUE,
                       printToggle = FALSE)
  kable(table_p_out,
        align = "c")
}
uni_var <- function(test_var, data_imp) {
                
        cat("_________________________________________________")
        cat("\n")
        cat("   \n##", test_var)
        cat("\n")
        cat("_________________________________________________")
        cat("\n")
        
        f <- as.formula(paste("Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 0)",
                              as.name(test_var),
                              sep = " ~ " ))
        
        data_imp_2 <- deparse(substitute(data_imp))
        km_fit <- do.call("survfit", list(formula = f, data = as.name(data_imp_2)))
        print(km_fit)
        cat("\n")
        print(summary(km_fit, times = c(12, 24, 36, 48, 60, 120)))
        cat("\n")
        cat("\n")
        cat("\n")
        cat("   \n## Univariable Cox Proportional Hazard Model for: ", test_var)
        cat("\n")
        cat("\n")
        n_levels <- nlevels(data_imp[[test_var]])
        if(n_levels == 1){
                print("Only one level, no Cox model performed")
                cat("\n")
        } else {
                cox_fit <- do.call("coxph", list(formula = f, data = as.name(data_imp_2)))
                print(summary(cox_fit))
                cat("\n")
                
                do.call("ggforest",
                         list(model = cox_fit, data = as.name(data_imp_2)))
        }
        cat("\n")
        cat("\n")
        cat("\n")
        cat("   \n## Unadjusted Kaplan Meier Overall Survival Curve for: ", test_var)
        p <- do.call("ggsurvplot",
                     list(fit = km_fit, data = as.name(data_imp_2),
                          palette = "jco", censor = FALSE, legend = "right",
                          linetype = "strata", xlab = "Time (Months)"))
        print(p)
}
col.width <- c(37, 10, 1, 1, 3, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 8, 2, 2, 2, 4, 4, 1, 4, 1, 1,
               1, 3, 2, 2, 8, 2, 5, 5, 5, 4, 5, 5, 5,4, 2, 1, 2, 1, 3, 1, 1, 1, 1, 1, 1, 3,
               3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 8,
               8, 8, 2, 1, 1, 1, 1, 8, 1, 1, 8, 1, 1, 2, 2, 5, 2, 5, 3, 1, 3, 1, 8, 8, 2, 8,
               2, 8, 2, 2, 1, 8, 1, 1, 1, 1, 1, 8, 1, 2, 2, 2, 2, 2, 1, 1, 1, 2, 1, 3, 1, 1,
               1, 1, 1, 1, 1, 1, 1)
col.names.abr <- c("PUF_CASE_ID", "PUF_FACILITY_ID", "FACILITY_TYPE_CD", "FACILITY_LOCATION_CD",
                   "AGE", "SEX", "RACE", "SPANISH_HISPANIC_ORIGIN", "INSURANCE_STATUS",
                   "MED_INC_QUAR_00", "NO_HSD_QUAR_00", "UR_CD_03", "MED_INC_QUAR_12", "NO_HSD_QUAR_12",
                   "UR_CD_13", "CROWFLY", "CDCC_TOTAL_BEST", "SEQUENCE_NUMBER", "CLASS_OF_CASE",
                   "YEAR_OF_DIAGNOSIS", "PRIMARY_SITE", "LATERALITY", "HISTOLOGY", "BEHAVIOR", "GRADE",
                   "DIAGNOSTIC_CONFIRMATION", "TUMOR_SIZE", "REGIONAL_NODES_POSITIVE",
                   "REGIONAL_NODES_EXAMINED", "DX_STAGING_PROC_DAYS", "RX_SUMM_DXSTG_PROC", "TNM_CLIN_T",
                   "TNM_CLIN_N", "TNM_CLIN_M", "TNM_CLIN_STAGE_GROUP", "TNM_PATH_T", "TNM_PATH_N", "TNM_PATH_M",
                   "TNM_PATH_STAGE_GROUP", "TNM_EDITION_NUMBER", "ANALYTIC_STAGE_GROUP", "CS_METS_AT_DX",
                   "CS_METS_EVAL", "CS_EXTENSION", "CS_TUMOR_SIZEEXT_EVAL", "CS_METS_DX_BONE", "CS_METS_DX_BRAIN",
                   "CS_METS_DX_LIVER", "CS_METS_DX_LUNG", "LYMPH_VASCULAR_INVASION", "CS_SITESPECIFIC_FACTOR_1",
                   "CS_SITESPECIFIC_FACTOR_2", "CS_SITESPECIFIC_FACTOR_3", "CS_SITESPECIFIC_FACTOR_4",
                   "CS_SITESPECIFIC_FACTOR_5", "CS_SITESPECIFIC_FACTOR_6", "CS_SITESPECIFIC_FACTOR_7",
                   "CS_SITESPECIFIC_FACTOR_8", "CS_SITESPECIFIC_FACTOR_9", "CS_SITESPECIFIC_FACTOR_10",
                   "CS_SITESPECIFIC_FACTOR_11", "CS_SITESPECIFIC_FACTOR_12", "CS_SITESPECIFIC_FACTOR_13",
                   "CS_SITESPECIFIC_FACTOR_14", "CS_SITESPECIFIC_FACTOR_15", "CS_SITESPECIFIC_FACTOR_16",
                   "CS_SITESPECIFIC_FACTOR_17", "CS_SITESPECIFIC_FACTOR_18", "CS_SITESPECIFIC_FACTOR_19",
                   "CS_SITESPECIFIC_FACTOR_20", "CS_SITESPECIFIC_FACTOR_21", "CS_SITESPECIFIC_FACTOR_22",
                   "CS_SITESPECIFIC_FACTOR_23", "CS_SITESPECIFIC_FACTOR_24", "CS_SITESPECIFIC_FACTOR_25",
                   "CS_VERSION_LATEST", "DX_RX_STARTED_DAYS", "DX_SURG_STARTED_DAYS", "DX_DEFSURG_STARTED_DAYS",
                   "RX_SUMM_SURG_PRIM_SITE", "RX_HOSP_SURG_APPR_2010", "RX_SUMM_SURGICAL_MARGINS",
                   "RX_SUMM_SCOPE_REG_LN_SUR", "RX_SUMM_SURG_OTH_REGDIS", "SURG_DISCHARGE_DAYS", "READM_HOSP_30_DAYS",
                   "REASON_FOR_NO_SURGERY", "DX_RAD_STARTED_DAYS", "RX_SUMM_RADIATION", "RAD_LOCATION_OF_RX",
                   "RAD_TREAT_VOL", "RAD_REGIONAL_RX_MODALITY", "RAD_REGIONAL_DOSE_CGY", "RAD_BOOST_RX_MODALITY",
                   "RAD_BOOST_DOSE_CGY", "RAD_NUM_TREAT_VOL", "RX_SUMM_SURGRAD_SEQ", "RAD_ELAPSED_RX_DAYS",
                   "REASON_FOR_NO_RADIATION", "DX_SYSTEMIC_STARTED_DAYS", "DX_CHEMO_STARTED_DAYS", "RX_SUMM_CHEMO",
                   "DX_HORMONE_STARTED_DAYS", "RX_SUMM_HORMONE", "DX_IMMUNO_STARTED_DAYS", "RX_SUMM_IMMUNOTHERAPY",
                   "RX_SUMM_TRNSPLNT_ENDO", "RX_SUMM_SYSTEMIC_SUR_SEQ", "DX_OTHER_STARTED_DAYS", "RX_SUMM_OTHER",
                   "PALLIATIVE_CARE", "RX_SUMM_TREATMENT_STATUS", "PUF_30_DAY_MORT_CD", "PUF_90_DAY_MORT_CD",
                   "DX_LASTCONTACT_DEATH_MONTHS", "PUF_VITAL_STATUS", "RX_HOSP_SURG_PRIM_SITE", "RX_HOSP_CHEMO",
                   "RX_HOSP_IMMUNOTHERAPY", "RX_HOSP_HORMONE", "RX_HOSP_OTHER", "PUF_MULT_SOURCE", "REFERENCE_DATE_FLAG",
                   "RX_SUMM_SCOPE_REG_LN_2012", "RX_HOSP_DXSTG_PROC", "PALLIATIVE_CARE_HOSP", "TUMOR_SIZE_SUMMARY",
                   "METS_AT_DX_OTHER", "METS_AT_DX_DISTANT_LN", "METS_AT_DX_BONE", "METS_AT_DX_BRAIN",
                   "METS_AT_DX_LIVER", "METS_AT_DX_LUNG", "NO_HSD_QUAR_16", "MED_INC_QUAR_16", "MEDICAID_EXPN_CODE")
#Read in data for each subsite
lip <- read_fwf('NCDBPUF_Lip.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
melanoma <- read_fwf('NCDBPUF_Melanoma.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
                       
skin <- read_fwf('NCDBPUF_OtSkin.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
hodgextr <- read_fwf('NCDBPUF_HodgExtr.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
hodgndal <- read_fwf('NCDBPUF_HodgNdal.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
NHLndal <- read_fwf('NCDBPUF_NHLNdal.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
NHLextr <- read_fwf('NCDBPUF_NHLExtr.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
breast <-  read_fwf('NCDBPUF_Breast.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
vulva <-  read_fwf('NCDBPUF_Vulva.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
vagina <-  read_fwf('NCDBPUF_Vagina.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
penis <-  read_fwf('NCDBPUF_Penis.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
otleuk <- read_fwf('NCDBPUF_OtLeuk.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
  
otheracuteleuk  <- read_fwf('NCDBPUF_OtAcLeuk.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
  
ALL  <- read_fwf('NCDBPUF_ALymLeuk.3.2016.0.dat', 
                       fwf_widths(col.width, col_names = col.names.abr),
                       col_types = cols(.default = col_character()))
#Combine data for all subsites
dat <- bind_rows(lip, melanoma, skin, hodgextr, hodgndal, NHLndal, breast, 
                 vulva, vagina, penis, NHLextr, otleuk, otheracuteleuk, ALL)
rm(lip, melanoma, skin, hodgextr, hodgndal, NHLndal, breast, vulva, vagina, 
   penis, NHLextr, otleuk, otheracuteleuk, ALL)
prim_site_text <- data_frame(PRIMARY_SITE = c(
#NHL sites
"C000", 
"C001", 
"C002", 
"C003", 
"C004", 
"C005", 
"C006", 
"C008",
"C009", 
"C019", 
"C020", 
"C021",
"C022", 
"C023", 
"C024", 
"C028", 
"C029",
"C030",
"C031",
"C039", 
"C040", 
"C041", 
"C048",
"C049", 
"C050", 
"C051", 
"C052", 
"C058", 
"C059",
"C060", 
"C061", 
"C062", 
"C068", 
"C069", 
"C079",  
"C098",
"C099",
"C111",
"C142",
"C300",
"C379",
"C420",
"C422",
"C424",
#skin/melanoma
                                 "C440", "C441", "C442", "C443", "C444", "C445",
                                 "C446", "C447", "C448", "C449",
                                 
                                 #breast - nipple
                                 "C500",
                                 
                                 #vagina/vulva
                                 "C510", "C511", "C512", "C518", "C519", "C529",
                                 
                                 #penis
                                 "C600", "C601", "C602", "C608", "C609", "C639",
"C770",
"C771",
"C772",
"C773",
"C774",
"C775",
"C778",
"C779"),
SITE_TEXT = c(
"C00.0 External Lip: Upper NOS",
"C00.1 External Lip: Lower NOS",
"C00.2 External Lip: NOS",
"C00.3 Lip: Upper Mucosa",
"C00.4 Lip: Lower Mucosa",
"C00.5 Lip: Mucosa NOS",
"C00.6 Lip: Commissure",
"C00.8 Lip: Overlapping",
"C00.9 Lip NOS",
"C01.9 Tongue: Base NOS",
"C02.0 Tongue: Dorsal NOS",
"C02.1 Tongue: Border, Tip",
"C02.2 Tongue: Ventral NOS",
"C02.3 Tongue: Anterior NOS",
"C02.4 Lingual Tonsil",
"C02.8 Tongue: Overlapping",
"C02.9 Tongue: NOS",
"C03.0 Gum: Upper",
"C03.1 Gum: Lower",
"C03.9 Gum NOS",
"C04.0 Mouth: Anterior Floor",
"C04.1 Mouth: Lateral Floor",
"C04.8 Mouth: Overlapping Floor",
"C04.9 Floor of Mouth NOS",
"C05.0 Hard Palate",
"C05.1 Soft Palate NOS",
"C05.2 Uvula",
"C05.8 Palate: Overlapping",
"C05.9 Palate NOS",
"C06.0 Cheek Mucosa",
"C06.1 Mouth: Vestibule",
"C06.2 Retromolar Area",
"C06.8 Mouth: Other Overlapping",
"C06.9 Mouth NOS",
"C07.9 Parotid Gland",
  "C09.8 Tonsil: Overlapping",
  "C09.9 Tonsil NOS",
  "C11.1 Nasopharynx: Poster Wall", 
  "C14.2 Waldeyer Ring",
  "C30.0 Nasal Cavity",
  "C37.9 Thymus",
"C42.0 Blood",
  "C42.2 Spleen",
"C42.4 Hematopoietic NOS",
 #skin
"C44.0 Skin of lip, NOS",
"C44.1 Eyelid",
"C44.2 External ear",
"C44.3 Skin of ear and unspecified parts of face",
"C44.4 Skin of scalp and neck",
"C44.5 Skin of trunk",
"C44.6 Skin of upper limb and shoulder",
"C44.7 Skin of lower limb and hip",
"C44.8 Overlapping lesion of skin",
"C44.9 Skin, NOS", 
#breast
"C50.0 Nipple",
#vulva/vagina
"C51.0 Labium majus",
"C51.1 Labium minus",
"C51.2 Clitoris",
"C51.8 Overlapping lesion of vulva",
"C51.9 Vulva, NOS",
"C52.9 Vagina, NOS",
#penis
"C60.0 Prepuce",
"C60.1 Glans penis",
"C60.2 Body of penis",
"C60.8 Overlapping lesion of penis",
"C60.9 Penis",
"C63.2 Scrotum, NOS",
  "C77.0 Lymph Nodes: HeadFaceNeck",
  "C77.1 Intrathoracic Lymph Nodes",
  "C77.2 Intra-abdominal LymphNodes",
  "C77.3 Lymph Nodes of axilla or arm ",
  "C77.4 Lymph Nodes: Leg",
  "C77.5 Pelvic Lymph Nodes",
  "C77.8 Lymph Nodes: multiple region",
  "C77.9 Lymph Node NOS"))
dat <- merge(dat, prim_site_text, by = "PRIMARY_SITE", all.x = TRUE) 
rm(prim_site_text)
# convert numeric variables from character class to numeric class
num_vars <- c("AGE", "CROWFLY", "TUMOR_SIZE", "DX_STAGING_PROC_DAYS", "DX_RX_STARTED_DAYS", "DX_SURG_STARTED_DAYS",
              "DX_DEFSURG_STARTED_DAYS", "SURG_DISCHARGE_DAYS", "DX_RAD_STARTED_DAYS",  "RAD_REGIONAL_DOSE_CGY",
              "RAD_BOOST_DOSE_CGY", "RAD_ELAPSED_RX_DAYS", "DX_SYSTEMIC_STARTED_DAYS", "DX_CHEMO_STARTED_DAYS", 
              "DX_HORMONE_STARTED_DAYS", "DX_OTHER_STARTED_DAYS", "DX_LASTCONTACT_DEATH_MONTHS",
              "RAD_NUM_TREAT_VOL")
dat[num_vars] <- lapply(dat[num_vars], as.numeric)
# convert factor variables from character class to factor class
vars <- names(dat)
fact_vars <- vars[!(vars %in% num_vars)] # basically all of the non-numerics
dat[fact_vars] <- lapply(dat[fact_vars], as.character)
dat[fact_vars] <- lapply(dat[fact_vars], as.factor)
dat <- dat %>%
        mutate(FACILITY_TYPE_F = fct_recode(FACILITY_TYPE_CD,
                                            "Community Cancer Program" = "1",
                                            "Comprehensive Comm Ca Program" = "2",
                                            "Academic/Research Program" = "3",
                                            "Integrated Network Ca Program" = "4",
                                            "Other" = "9")) %>%
        mutate(FACILITY_LOCATION_F = fct_recode(FACILITY_LOCATION_CD,
                                            "New England" = "1",
                                            "Middle Atlantic" = "2",
                                            "South Atlantic" = "3",
                                            "East North Central" = "4",
                                            "East South Central" = "5",
                                            "West North Central" = "6",
                                            "West South Central" = "7",
                                            "Mountain" = "8",
                                            "Pacific" = "9",
                                            "out of US" = "0")) %>%
        mutate(FACILITY_GEOGRAPHY = fct_collapse(FACILITY_LOCATION_CD,
                                                 "Northeast" = c("1", "2"),
                                                 "South" = c("3", "7"),
                                                 "Midwest" = c("4", "5", "6"),
                                                 "West" = c("8", "9"))) %>%
        mutate(AGE_F = cut(AGE, c(0, 54, 64, 74, 100))) %>%
        mutate(AGE_40 = cut(AGE, c(0, 40, 100))) %>%
        mutate(SEX_F = fct_recode(SEX,
                                "Male" = "1",
                                "Female" = "2")) %>%
        mutate(RACE_F = fct_collapse(RACE,
                                "White" = c("01"),
                                "Black" = c("02"),
                                "Asian" = c("04", "05", "06", "07", "08", "10", "11", "12", "13", "14", "15",
                                            "16", "17", "20", "21", "22", "25", "26", "27", "28", "30", "31",
                                            "32", "96", "97"),
                                "Other/Unk" = c("03", "98", "99"))) %>%
        mutate(HISPANIC = fct_collapse(SPANISH_HISPANIC_ORIGIN,
                                       "Yes" = c("1", "2", "3", "4", "5", "6", "7", "8"),
                                       "No" = c("0"),
                                       "Unknown" = c("9"))) %>%
        mutate(INSURANCE_F = fct_recode(INSURANCE_STATUS,
                                         "None" = "0",
                                         "Private" = "1",
                                         "Medicaid" = "2",
                                         "Medicare" = "3",
                                         "Other Government" = "4",
                                         "Unknown" = "9")) %>%
        mutate(INSURANCE_F = fct_relevel(INSURANCE_F,
                                         "Private")) %>%
        mutate(INCOME_F = fct_recode(MED_INC_QUAR_12,
                                      "Less than $38,000" = "1",
                                      "$38,000 - $47,999" = "2",
                                      "$48,000 - $62,999" = "3",
                                      "$63,000 +" = "4")) %>%
        mutate(EDUCATION_F = fct_recode(NO_HSD_QUAR_12,
                                        "21% or more" = "1",
                                        "13 - 20.9%" = "2",
                                        "7 - 12.9%" = "3",
                                        "Less than 7%" = "4")) %>%
        mutate(U_R_F = fct_collapse(UR_CD_13,
                                    "Metro" = c("1", "2", "3"),
                                    "Urban" = c("4", "5", "6", "7"),
                                    "Rural" = c("8", "9"))) %>%
        mutate(CLASS_OF_CASE_F = fct_collapse(CLASS_OF_CASE,
                                              All_Part_Prim = c("10", "11", "12", "13",
                                                                "14", "20", "21", "22"),
                                              Other_Facility = c("00"))) %>%
        mutate(GRADE_F = fct_recode(GRADE,
                                  "Gr I: Well Diff" = "1",
                                  "Gr II: Mod Diff" = "2",
                                  "Gr III: Poor Diff" = "3",
                                  "Gr IV: Undiff/Anaplastic" = "4",
                                  "NA/Unkown" = "9")) %>%
        mutate(HISTOLOGY_F = fct_infreq(HISTOLOGY)) %>%
        mutate(HISTOLOGY_F = factor(HISTOLOGY_F)) %>%
        mutate(HISTOLOGY_F_LIM = fct_lump(HISTOLOGY_F, prop = 0.05)) %>%
        mutate(TNM_CLIN_T = fct_recode(TNM_CLIN_T,
                                       "N_A" = "88")) %>%
        mutate(TNM_CLIN_T = fct_relevel(TNM_CLIN_T,
                                        "1")) %>%
        mutate(TNM_CLIN_N = fct_recode(TNM_CLIN_N,
                                       "N_A" = "88")) %>%
        mutate(TNM_CLIN_M = fct_recode(TNM_CLIN_M,
                                       "N_A" = "88")) %>%
        mutate(TNM_PATH_T = fct_recode(TNM_PATH_T,
                                       "N_A" = "88")) %>%
        mutate(TNM_PATH_T = fct_relevel(TNM_PATH_T,
                                        "1")) %>%
        mutate(TNM_PATH_N = fct_recode(TNM_PATH_N,
                                       "N_A" = "88")) %>%
        mutate(TNM_PATH_M = fct_recode(TNM_PATH_M,
                                       "N_A" = "88")) %>%
        mutate(TNM_CLIN_STAGE_GROUP = fct_recode(TNM_CLIN_STAGE_GROUP,
                                       "N_A" = "88")) %>%
        mutate(TNM_PATH_STAGE_GROUP = fct_recode(TNM_PATH_STAGE_GROUP,
                                       "N_A" = "88")) %>%
        mutate(MARGINS = fct_recode(RX_SUMM_SURGICAL_MARGINS,
                                    "No Residual" = "0",
                                    "Residual, NOS" = "1",
                                    "Microscopic Resid" = "2",
                                    "Macroscopic Resid" = "3",
                                    "Not evaluable" = "7",
                                    "No surg" = "8",
                                    "Unknown" = "9")) %>%
        mutate(MARGINS_YN = fct_collapse(RX_SUMM_SURGICAL_MARGINS,
                                         "Yes" = c("1", "2", "3"),
                                         "No" = c("0"),
                                         "No surg/Unk/NA" = c("7", "8", "9"))) %>%
        mutate(READM_HOSP_30_DAYS_F = fct_recode(READM_HOSP_30_DAYS,
                                                 "No_Surg_or_No_Readmit" = "0",
                                                 "Unplan_Readmit_Same" = "1",
                                                 "Plan_Readmit_Same" = "2",
                                                 "PlanUnplan_Same" = "3",
                                                 "Unknown" = "4")) %>%
        mutate(RX_SUMM_RADIATION_F = fct_recode(RX_SUMM_RADIATION,
                                                "None" = "0",
                                                "Beam Radiation" = "1",
                                                "Radioactive Implants" = "2",
                                                "Radioisotopes" = "3",
                                                "Beam + Imp or Isotopes" = "4",
                                                "Radiation, NOS" = "5",
                                                "Unknown" = "9")) %>%
        mutate(PUF_30_DAY_MORT_CD_F = fct_recode(PUF_30_DAY_MORT_CD,
                                                 "Alive_30" = "0",
                                                 "Dead_30" = "1",
                                                 "Unknown" = "9")) %>%
        mutate(PUF_90_DAY_MORT_CD_F = fct_recode(PUF_90_DAY_MORT_CD,
                                                 "Alive_90" = "0",
                                                 "Dead_90" = "1",
                                                 "Unknown" = "9")) %>%
        mutate(LYMPH_VASCULAR_INVASION_F = fct_recode(LYMPH_VASCULAR_INVASION,
                                                      "Neg_LymphVasc_Inv" = "0",
                                                      "Pos_LumphVasc_Inv" = "1",
                                                      "N_A" = "8",
                                                      "Unknown" = "9")) %>%
        mutate(RX_HOSP_SURG_APPR_2010_F = fct_recode(RX_HOSP_SURG_APPR_2010,
                                                     "No_Surg" = "0",
                                                     "Robot_Assist" = "1",
                                                     "Robot_to_Open" = "2",
                                                     "Endo_Lap" = "3",
                                                     "Endo_Lap_to_Open" = "4",
                                                     "Open_Unknown" = "5",
                                                     "Unknown" = "9")) %>%
        mutate(All = "All") %>%
        mutate(All = factor(All)) %>%
        mutate(REASON_FOR_NO_SURGERY_F = fct_recode(REASON_FOR_NO_SURGERY,
                                                    "Surg performed" = "0",
                                                    "Surg not recommended" = "1",
                                                    "No surg due to pt factors" = "2",
                                                    "No surg, pt died" = "5",
                                                    "Surg rec, not done" = "6",
                                                    "Surg rec, pt refused" = "7",
                                                    "Surg rec, unk if done" = "8",
                                                    "Unknown" = "9")) %>%
        mutate(SURGERY_YN = ifelse(REASON_FOR_NO_SURGERY == "0",
                                   "Yes",
                                   ifelse(REASON_FOR_NO_SURGERY == "9",
                                          "Ukn",
                                          "No"))) %>%
        mutate(SURG_TF = case_when(SURGERY_YN == "Yes" ~ TRUE,
                             SURGERY_YN == "No" ~ FALSE,
                             TRUE ~ NA))  %>%
        mutate(REASON_FOR_NO_RADIATION_F = fct_recode(REASON_FOR_NO_RADIATION,
                                                    "Rad performed" = "0",
                                                    "Rad not recommended" = "1",
                                                    "No Rad due to pt factors" = "2",
                                                    "No Rad, pt died" = "5",
                                                    "Rad rec, not done" = "6",
                                                    "Rad rec, pt refused" = "7",
                                                    "Rad rec, unk if done" = "8",
                                                    "Unknown" = "9")) %>%
        mutate(RADIATION_YN = ifelse(REASON_FOR_NO_RADIATION == "0",
                                   "Yes",
                                   ifelse(REASON_FOR_NO_RADIATION == "9",
                                          NA,
                                          "No"))) %>%
        mutate(SURGRAD_SEQ_F = fct_recode(RX_SUMM_SURGRAD_SEQ,
                                                   "None or Surg or Rad" = "0",
                                                   "Rad before Surg" = "2",
                                                   "Surg before Rad" = "3",
                                                   "Rad before and after Surg" = "4",
                                                   "Intraop Rad" = "5",
                                                   "Intraop Rad plus other" = "6",
                                                   "Unknown" = "9")) %>%
        mutate(SURG_RAD_SEQ = ifelse(SURGERY_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0",
                                     "Surg Alone",
                                     ifelse(RADIATION_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0",
                                            "Rad Alone",
                                            ifelse(SURGERY_YN == "No" & RADIATION_YN == "No" & RX_SUMM_SURGRAD_SEQ == "0",
                                                   "No Treatment",
                                                   ifelse(RX_SUMM_SURGRAD_SEQ == "2",
                                                          "Rad then Surg",
                                                          ifelse(RX_SUMM_SURGRAD_SEQ == "3",
                                                                 "Surg then Rad",
                                                                 ifelse(RX_SUMM_SURGRAD_SEQ == "4",
                                                                        "Rad before and after Surg",
                                                                        "Other"))))))) %>%
        mutate(SURG_RAD_SEQ = fct_relevel(SURG_RAD_SEQ,
                                          "Surg Alone",
                                          "Surg then Rad",
                                          "Rad Alone")) %>%
        mutate(CHEMO_YN = fct_collapse(RX_SUMM_CHEMO,
                                       "No" = c("00", "82", "85", "86", "87"),
                                       "Yes" = c("01", "02", "03"),
                                       "Ukn" = c("88", "99"))) %>%
        mutate(IMMUNO_YN = fct_collapse(RX_SUMM_IMMUNOTHERAPY,
                                       "No" = c("00", "82", "85", "86", "87"),
                                       "Yes" = c("01"),
                                       "Ukn" = c("88", "99"))) %>%
        mutate(SURG_RAD_SEQ_C = ifelse(SURGERY_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "No",
                                     "Surg, No rad, No Chemo",
                                     ifelse(RADIATION_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "No",
                                            "Rad, No Surg, No Chemo",
                                            ifelse(SURGERY_YN == "No" & RADIATION_YN == "No" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "No",
                                                   "No Surg, No Rad, No Chemo",
                                                   ifelse(RX_SUMM_SURGRAD_SEQ == "2" & CHEMO_YN == "No",
                                                          "Rad then Surg, No Chemo",
                                                          ifelse(RX_SUMM_SURGRAD_SEQ == "3" & CHEMO_YN == "No",
                                                                 "Surg then Rad, No Chemo",
                                                                 ifelse(RX_SUMM_SURGRAD_SEQ == "4" & CHEMO_YN == "No",
                                                                        "Rad before and after Surg, No Chemo",
                                ifelse(SURGERY_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "Yes",
                                       "Surg, No rad, Yes Chemo",
                                       ifelse(RADIATION_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "Yes",
                                              "Rad, No Surg, Yes Chemo",
                                              ifelse(SURGERY_YN == "No" & RADIATION_YN == "No" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "Yes",
                                                     "No Surg, No Rad, Yes Chemo",
                                                     ifelse(RX_SUMM_SURGRAD_SEQ == "2" & CHEMO_YN == "Yes",
                                                            "Rad then Surg, Yes Chemo",
                                                            ifelse(RX_SUMM_SURGRAD_SEQ == "3" & CHEMO_YN == "Yes",
                                                                   "Surg then Rad, Yes Chemo",
                                                                   ifelse(RX_SUMM_SURGRAD_SEQ == "4" & CHEMO_YN == "Yes",
                                                                          "Rad before and after Surg, Yes Chemo",
                                                                          "Other"))))))))))))) %>%
        mutate(SURG_RAD_SEQ_C = fct_infreq(SURG_RAD_SEQ_C)) %>%
        mutate(T_SIZE = as.numeric(TUMOR_SIZE)) %>%
        mutate(T_SIZE = ifelse(T_SIZE == 0,
                                "No Tumor",
                                ifelse(T_SIZE > 0 & T_SIZE < 10 | T_SIZE == 991,
                                       "< 1 cm",
                                       ifelse(T_SIZE >= 10 & T_SIZE < 20 | T_SIZE == 992,
                                              "1-2 cm",
                                              ifelse(T_SIZE >= 20 & T_SIZE < 30 | T_SIZE == 993,
                                                     "2-3 cm",
                                                     ifelse(T_SIZE >= 30 & T_SIZE < 40 | T_SIZE == 994,
                                                            "3-4 cm",
                                                            ifelse(T_SIZE >= 40 & T_SIZE < 50 | T_SIZE == 995,
                                                                   "4-5 cm",
                                                                   ifelse(T_SIZE >= 50 & T_SIZE < 60 | T_SIZE == 996,
                                                                          "5-6 cm",
                                                                          ifelse(T_SIZE >= 60 & T_SIZE <= 987 |
                                                                                         T_SIZE == 980 | T_SIZE == 989 |
                                                                                         T_SIZE == 997,
                                                                          ">6 cm",
                                                                          ifelse(T_SIZE == 988 | T_SIZE == 999,
                                                                                 "NA_unk",
                                                                                 "Microscopic focus")))))))))) %>%
        mutate(T_SIZE = factor(T_SIZE)) %>%
        mutate(T_SIZE = fct_relevel(T_SIZE,
                                     "No Tumor", "Microscopic focus", "< 1 cm", "1-2 cm", "2-3 cm", "3-4 cm",
                                       "4-5 cm", "5-6 cm", ">6 cm", "NA_unk")) %>%
        mutate(mets_at_dx = case_when(CS_METS_DX_LUNG == "1" ~ "Lung",
                                      CS_METS_DX_BONE == "1" ~ "Bone",
                                      CS_METS_DX_BRAIN == "1" ~ "Brain",
                                      CS_METS_DX_LIVER == "1" ~ "Liver",
                                      TRUE ~ "None/Other/Unk/NA")) %>%
        mutate(MEDICAID_EXPN_CODE = fct_recode(MEDICAID_EXPN_CODE,
                                               "Non-Expansion State" = "0",
                                               "Jan 2014 Expansion States" = "1",
                                               "Early Expansion States (2010-13)" = "2",
                                               "Late Expansion States (> Jan 2014)" = "3",
                                               "Suppressed for Ages 0 - 39" = "9"))  %>%
        mutate(EXPN_GROUP =  case_when(MEDICAID_EXPN_CODE  %in% c("Jan 2014 Expansion States") & 
                                         YEAR_OF_DIAGNOSIS %in% c("2014", "2015") ~ "Post-Expansion",
                                       
                                       MEDICAID_EXPN_CODE  %in% c("Jan 2014 Expansion States") & 
                                         YEAR_OF_DIAGNOSIS %in% 
                                          c("2004", "2005", "2006", "2007", "2008", 
                                            "2009", "2010", "2011", "2012", "2013") ~ "Pre-Expansion",
               
                                       MEDICAID_EXPN_CODE  %in% c("Early Expansion States (2010-13)") & 
                                         YEAR_OF_DIAGNOSIS %in% c("2010", "2011", "2012", "2013", "2014", "2015") ~ "Post-Expansion",
                                       
                                        MEDICAID_EXPN_CODE  %in% c("Early Expansion States (2010-13)") & 
                                         YEAR_OF_DIAGNOSIS %in% c("2004", "2005", "2006", "2007", "2008", "2009") ~ "Pre-Expansion",
                                       MEDICAID_EXPN_CODE %in% c("Non-Expansion State") ~ "Pre-Expansion",
                                       MEDICAID_EXPN_CODE %in% c("Late Expansion States (> Jan 2014)") ~ "Pre-Expansion",
                    
                                       MEDICAID_EXPN_CODE %in% c("Late Expansion States (> Jan 2014)") & 
                                        YEAR_OF_DIAGNOSIS %in% c("2014", "2015") ~ "Exclude",
                                       
                                       MEDICAID_EXPN_CODE == "Suppressed for Ages 0 - 39" ~ "Exclude")) %>%
  
  mutate(pre_2014 = YEAR_OF_DIAGNOSIS %in% c("2004", "2005", "2006", "2007", "2008", 
                                            "2009", "2010", "2011", "2012", "2013")) %>%
  
  mutate(mets_at_dx_F = ifelse(mets_at_dx == "None/Other/Unk/NA", FALSE, TRUE)) %>% 
  
  mutate(Tx_YN = ifelse(SURG_RAD_SEQ == "No Treatment" & CHEMO_YN == "No" & 
                          IMMUNO_YN == "No", FALSE, 
                        ifelse(CHEMO_YN == "Ukn", NA, 
                               TRUE)))
fact_vars_2 <- c("FACILITY_TYPE_F", "FACILITY_LOCATION_F", "AGE_F", "SEX_F", "RACE_F",
                 "HISPANIC", "INSURANCE_F", "INCOME_F", "EDUCATION_F", "U_R_F",
                 "CDCC_TOTAL_BEST", "CLASS_OF_CASE_F", "YEAR_OF_DIAGNOSIS", "PRIMARY_SITE", "HISTOLOGY",
                 "BEHAVIOR", "GRADE_F", "TNM_CLIN_T", "TNM_CLIN_N", "TNM_CLIN_M",
                 "TNM_CLIN_STAGE_GROUP", "TNM_PATH_T", "TNM_PATH_N", "TNM_PATH_M", "TNM_PATH_STAGE_GROUP",
                 "MARGINS", "READM_HOSP_30_DAYS_F", "RX_SUMM_RADIATION_F", "PUF_30_DAY_MORT_CD_F",
                 "PUF_90_DAY_MORT_CD_F", "LYMPH_VASCULAR_INVASION_F", "RX_HOSP_SURG_APPR_2010_F", "mets_at_dx")
dat <- dat %>%
        mutate_at(fact_vars_2, funs(factor(.)))

Extract Data of Interest

# Non-Hodgkin Lymphoma Sites
site_code <- c( 
#additional sites
 #lip  
  "C000", "C001", "C002", "C003", "C004", "C005","C006", "C008","C009",
                                  
                                 
#skin/melanoma
  "C440", "C441", "C442", "C443", "C444", "C445", "C446", "C447", "C448", "C449",
                                 
 #breast - nipple
  "C500",
                                 
#vagina/vulva
  "C510", "C511", "C512", "C518", "C519", "C529",
                                 
#penis
 "C600", "C601", "C602", "C608", "C609", "C639")
#mycosis fungoides, Sezary syndrome, subcutaneous panniculitis-like T-cell lymphoma,
#cutaneous T-cell lymphoma, NOS, primary cutaneous CD30+T-cell lymphoma, 
#NK/T-cell lymphoma, primary cutaneous gamma-delta T-cell lymphoma, 
#and blastic NK cell lymphoma, respectively
#"9700" = Mycosis Fungoides
  # pagetoid reticulosis
#"9701" = Sezary Syndrome
  # Sezary disease
#"9708" = Subcutaneous panniculitislike T-cell lymphoma
#"9709" = Cutaneous T-cell lymphoma, NOS 
  # Cutaneous lymphoma, NOS (C44._); Primary cutaneous CD4-positive small/medium
  # T-cell lymphoma; Primary cutaneous CD8-positive aggressive
  # epidermotropic cytotoxic T-cell lymphoma
#"9718" = Primary cutaneous CD30+ T-cell lymphoproliferative disorder 
  # Lymphomatoid papulosis (C44._), Primary cutaneous anaplastic large cell,
  # lymphoma (C44._), Primary cutaneous CD30+ large T-cell lymphoma (C44._)
#"9726" = Primary cutaneous gamma-delta T-cell lymphoma
histo_code <- c("9700")
behavior_code <- c("3")
data <- dat %>%
        filter(BEHAVIOR %in% behavior_code) %>%
        filter(PRIMARY_SITE %in% site_code) %>%
        filter(HISTOLOGY %in% histo_code) %>%
        #filter(AGE >= 18) %>%
        filter(is.na(PUF_VITAL_STATUS) == FALSE) %>%
        filter(is.na(DX_LASTCONTACT_DEATH_MONTHS) == FALSE)  %>%
        filter(SEQUENCE_NUMBER == "00") 
#file_path <- c("/Users/beastatlife/Google Drive/Penn/Research/Barbieri/NCDB")
#save(data,
#      file = paste0(file_path, "/CTCL_data.Rda"))
#load("MF_data.Rda")

Data including skin tumors was obtained from the NCBD on October 7, 2019. Cases that were included in this analysis were those with:

  1. Site codes: C000, C001, C002, C003, C004, C005, C006, C008, C009, C440, C441, C442, C443, C444, C445, C446, C447, C448, C449, C500, C510, C511, C512, C518, C519, C529, C600, C601, C602, C608, C609, C639
  2. Histology codes: 9700
  3. Behavior codes: 3

Patients were excluded if they didn’t have values for either follow up or vital status.

Patients were excluded if they had surgery to a distant site using RX_SUMM_SURG_OTH_REGDIS. This was done to avoid confounding of different surgical procedures. We are only interested in surgery at the primary site. These distant site surgeries were being counted in the surgery/radiation sequence and thus to simplify analysis they were removed.

data %>%
        CreateTableOne(data = .,
                     vars = c("RX_SUMM_SURG_OTH_REGDIS"),
                     includeNA = TRUE) %>%
        print(.,
              showAllLevels = TRUE)
                             
                              level Overall     
  n                                 5609        
  RX_SUMM_SURG_OTH_REGDIS (%) 0     5465 (97.4) 
                              1       10 ( 0.2) 
                              2        4 ( 0.1) 
                              3        6 ( 0.1) 
                              4        0 ( 0.0) 
                              5        1 ( 0.0) 
                              9      123 ( 2.2) 
data <- data %>%
        filter(RX_SUMM_SURG_OTH_REGDIS == "0") 

Race was grouped as white, black, asian, other/unknown Stage was grouped into 0, I, II, III, IV, NA_Unknown, stage 0 was removed Whether surgery was performed was based on the REASON_FOR_NO_SURGERY variable. The SURGERY_YN variable was classified as ‘Yes’, ‘No’, or ‘Unknown’.

Whether radiation was performed was based on the REASON_FOR_NO_RADIATION variable. The RADIATION_YN variable was classified as ‘Yes’, ‘No’, or ‘Unknown’.

Table of variables for all cases:

data <- data %>% droplevels()
p_table(data,
        vars = c("FACILITY_TYPE_F", "FACILITY_LOCATION_F", "FACILITY_GEOGRAPHY",  "AGE", "AGE_F", "AGE_40",
                 "SEX_F", "RACE_F", "HISPANIC", "INSURANCE_F", 
                 "INCOME_F", "EDUCATION_F", "U_R_F", "CROWFLY", "CDCC_TOTAL_BEST",
                 "SITE_TEXT",  "HISTOLOGY", "BEHAVIOR", "GRADE_F", 
                 "DX_STAGING_PROC_DAYS", "TNM_CLIN_T", "TNM_CLIN_N", "TNM_CLIN_M",
                 "TNM_CLIN_STAGE_GROUP", "TNM_PATH_T", "TNM_PATH_N", "TNM_PATH_M",
                 "TNM_PATH_STAGE_GROUP", "DX_RX_STARTED_DAYS", "DX_SURG_STARTED_DAYS",
                 "DX_DEFSURG_STARTED_DAYS", "MARGINS", "MARGINS_YN", "SURG_DISCHARGE_DAYS",
                 "READM_HOSP_30_DAYS_F", "RX_SUMM_RADIATION_F", "PUF_30_DAY_MORT_CD_F",
                 "PUF_90_DAY_MORT_CD_F", "DX_LASTCONTACT_DEATH_MONTHS", 
                 "LYMPH_VASCULAR_INVASION_F", "RX_HOSP_SURG_APPR_2010_F", "SURG_RAD_SEQ",
                 "SURG_RAD_SEQ_C", "SURGERY_YN", "RADIATION_YN", "CHEMO_YN", "IMMUNO_YN", "Tx_YN", "mets_at_dx",
                 "MEDICAID_EXPN_CODE", "EXPN_GROUP", "YEAR_OF_DIAGNOSIS"))
level Overall
n 5465
FACILITY_TYPE_F (%) Community Cancer Program 111 ( 2.0)
Comprehensive Comm Ca Program 537 ( 9.8)
Academic/Research Program 3589 ( 65.7)
Integrated Network Ca Program 259 ( 4.7)
NA 969 ( 17.7)
FACILITY_LOCATION_F (%) New England 256 ( 4.7)
Middle Atlantic 1104 ( 20.2)
South Atlantic 968 ( 17.7)
East North Central 711 ( 13.0)
East South Central 237 ( 4.3)
West North Central 284 ( 5.2)
West South Central 252 ( 4.6)
Mountain 226 ( 4.1)
Pacific 458 ( 8.4)
NA 969 ( 17.7)
FACILITY_GEOGRAPHY (%) Northeast 1360 ( 24.9)
South 1220 ( 22.3)
Midwest 1232 ( 22.5)
West 684 ( 12.5)
NA 969 ( 17.7)
AGE (mean (sd)) 55.79 (17.20)
AGE_F (%) (0,54] 2367 ( 43.3)
(54,64] 1294 ( 23.7)
(64,74] 1075 ( 19.7)
(74,100] 728 ( 13.3)
NA 1 ( 0.0)
AGE_40 (%) (0,40] 1033 ( 18.9)
(40,100] 4431 ( 81.1)
NA 1 ( 0.0)
SEX_F (%) Male 3028 ( 55.4)
Female 2437 ( 44.6)
RACE_F (%) White 3906 ( 71.5)
Black 1152 ( 21.1)
Other/Unk 224 ( 4.1)
Asian 183 ( 3.3)
HISPANIC (%) No 4855 ( 88.8)
Yes 358 ( 6.6)
Unknown 252 ( 4.6)
INSURANCE_F (%) Private 3017 ( 55.2)
None 211 ( 3.9)
Medicaid 336 ( 6.1)
Medicare 1677 ( 30.7)
Other Government 83 ( 1.5)
Unknown 141 ( 2.6)
INCOME_F (%) Less than $38,000 960 ( 17.6)
$38,000 - $47,999 1133 ( 20.7)
$48,000 - $62,999 1359 ( 24.9)
$63,000 + 1986 ( 36.3)
NA 27 ( 0.5)
EDUCATION_F (%) 21% or more 931 ( 17.0)
13 - 20.9% 1319 ( 24.1)
7 - 12.9% 1699 ( 31.1)
Less than 7% 1490 ( 27.3)
NA 26 ( 0.5)
U_R_F (%) Metro 4722 ( 86.4)
Urban 537 ( 9.8)
Rural 69 ( 1.3)
NA 137 ( 2.5)
CROWFLY (mean (sd)) 41.96 (115.14)
CDCC_TOTAL_BEST (%) 0 4932 ( 90.2)
1 413 ( 7.6)
2 88 ( 1.6)
3 32 ( 0.6)
SITE_TEXT (%) C44.0 Skin of lip, NOS 13 ( 0.2)
C44.1 Eyelid 12 ( 0.2)
C44.2 External ear 6 ( 0.1)
C44.3 Skin of ear and unspecified parts of face 164 ( 3.0)
C44.4 Skin of scalp and neck 66 ( 1.2)
C44.5 Skin of trunk 864 ( 15.8)
C44.6 Skin of upper limb and shoulder 296 ( 5.4)
C44.7 Skin of lower limb and hip 557 ( 10.2)
C44.8 Overlapping lesion of skin 515 ( 9.4)
C44.9 Skin, NOS 2969 ( 54.3)
C51.9 Vulva, NOS 2 ( 0.0)
C60.9 Penis 1 ( 0.0)
HISTOLOGY (%) 9700 5465 (100.0)
BEHAVIOR (%) 3 5465 (100.0)
GRADE_F (%) Gr I: Well Diff 4 ( 0.1)
Gr II: Mod Diff 1 ( 0.0)
5 3953 ( 72.3)
6 10 ( 0.2)
7 1 ( 0.0)
8 2 ( 0.0)
NA/Unkown 1494 ( 27.3)
DX_STAGING_PROC_DAYS (mean (sd)) 4.59 (69.73)
TNM_CLIN_T (%) N_A 10 ( 0.2)
c1 1654 ( 30.3)
c1A 246 ( 4.5)
c1B 118 ( 2.2)
c2 788 ( 14.4)
c2A 82 ( 1.5)
c2B 111 ( 2.0)
c3 376 ( 6.9)
c4 289 ( 5.3)
cX 1643 ( 30.1)
NA 148 ( 2.7)
TNM_CLIN_N (%) N_A 9 ( 0.2)
c0 3294 ( 60.3)
c1 151 ( 2.8)
c1A 8 ( 0.1)
c1B 5 ( 0.1)
c2 23 ( 0.4)
c2A 1 ( 0.0)
c2B 4 ( 0.1)
c3 45 ( 0.8)
cX 1793 ( 32.8)
NA 132 ( 2.4)
TNM_CLIN_M (%) N_A 9 ( 0.2)
c0 5102 ( 93.4)
c1 45 ( 0.8)
NA 309 ( 5.7)
TNM_CLIN_STAGE_GROUP (%) 1 304 ( 5.6)
1A 2216 ( 40.5)
1B 1151 ( 21.1)
2 32 ( 0.6)
2A 97 ( 1.8)
2B 413 ( 7.6)
3 55 ( 1.0)
3A 178 ( 3.3)
3B 71 ( 1.3)
4 57 ( 1.0)
4A 62 ( 1.1)
4A1 29 ( 0.5)
4A2 19 ( 0.3)
4B 50 ( 0.9)
N_A 2 ( 0.0)
99 726 ( 13.3)
NA 3 ( 0.1)
TNM_PATH_T (%) N_A 12 ( 0.2)
p1 780 ( 14.3)
p1A 89 ( 1.6)
p1B 41 ( 0.8)
p2 339 ( 6.2)
p2A 19 ( 0.3)
p2B 31 ( 0.6)
p3 155 ( 2.8)
p4 132 ( 2.4)
pX 2097 ( 38.4)
NA 1770 ( 32.4)
TNM_PATH_N (%) N_A 10 ( 0.2)
p0 738 ( 13.5)
p1 36 ( 0.7)
p1A 3 ( 0.1)
p1B 2 ( 0.0)
p2 12 ( 0.2)
p2B 1 ( 0.0)
p3 15 ( 0.3)
pX 2950 ( 54.0)
NA 1698 ( 31.1)
TNM_PATH_M (%) N_A 8 ( 0.1)
p1 18 ( 0.3)
pX 2213 ( 40.5)
NA 3226 ( 59.0)
TNM_PATH_STAGE_GROUP (%) 1 141 ( 2.6)
1A 589 ( 10.8)
1B 255 ( 4.7)
2 14 ( 0.3)
2A 33 ( 0.6)
2B 113 ( 2.1)
3 20 ( 0.4)
3A 53 ( 1.0)
3B 26 ( 0.5)
4 27 ( 0.5)
4A 21 ( 0.4)
4A1 1 ( 0.0)
4B 31 ( 0.6)
N_A 2 ( 0.0)
99 3353 ( 61.4)
NA 786 ( 14.4)
DX_RX_STARTED_DAYS (mean (sd)) 48.97 (78.84)
DX_SURG_STARTED_DAYS (mean (sd)) 19.34 (42.97)
DX_DEFSURG_STARTED_DAYS (mean (sd)) 25.21 (55.38)
MARGINS (%) No Residual 231 ( 4.2)
Residual, NOS 93 ( 1.7)
Microscopic Resid 13 ( 0.2)
Macroscopic Resid 38 ( 0.7)
Not evaluable 229 ( 4.2)
No surg 4490 ( 82.2)
Unknown 371 ( 6.8)
MARGINS_YN (%) No 231 ( 4.2)
Yes 144 ( 2.6)
No surg/Unk/NA 5090 ( 93.1)
SURG_DISCHARGE_DAYS (mean (sd)) 1.60 (13.24)
READM_HOSP_30_DAYS_F (%) No_Surg_or_No_Readmit 5332 ( 97.6)
Unplan_Readmit_Same 14 ( 0.3)
Plan_Readmit_Same 26 ( 0.5)
PlanUnplan_Same 1 ( 0.0)
9 92 ( 1.7)
RX_SUMM_RADIATION_F (%) None 4655 ( 85.2)
Beam Radiation 751 ( 13.7)
Radioactive Implants 3 ( 0.1)
Radioisotopes 1 ( 0.0)
Radiation, NOS 28 ( 0.5)
Unknown 27 ( 0.5)
PUF_30_DAY_MORT_CD_F (%) Alive_30 725 ( 13.3)
Dead_30 1 ( 0.0)
Unknown 9 ( 0.2)
NA 4730 ( 86.6)
PUF_90_DAY_MORT_CD_F (%) Alive_90 698 ( 12.8)
Dead_90 8 ( 0.1)
Unknown 29 ( 0.5)
NA 4730 ( 86.6)
DX_LASTCONTACT_DEATH_MONTHS (mean (sd)) 51.00 (39.26)
LYMPH_VASCULAR_INVASION_F (%) N_A 3247 ( 59.4)
NA 2218 ( 40.6)
RX_HOSP_SURG_APPR_2010_F (%) No_Surg 2837 ( 51.9)
Endo_Lap 14 ( 0.3)
Open_Unknown 394 ( 7.2)
Unknown 2 ( 0.0)
NA 2218 ( 40.6)
SURG_RAD_SEQ (%) Surg Alone 834 ( 15.3)
Surg then Rad 118 ( 2.2)
Rad Alone 656 ( 12.0)
No Treatment 3798 ( 69.5)
Other 52 ( 1.0)
Rad before and after Surg 3 ( 0.1)
Rad then Surg 4 ( 0.1)
SURG_RAD_SEQ_C (%) Surg, No rad, No Chemo 647 ( 11.8)
Surg then Rad, No Chemo 89 ( 1.6)
Surg then Rad, Yes Chemo 27 ( 0.5)
Surg, No rad, Yes Chemo 159 ( 2.9)
No Surg, No Rad, Yes Chemo 1091 ( 20.0)
No Surg, No Rad, No Chemo 2598 ( 47.5)
Other 212 ( 3.9)
Rad, No Surg, Yes Chemo 197 ( 3.6)
Rad, No Surg, No Chemo 438 ( 8.0)
Rad then Surg, No Chemo 4 ( 0.1)
Rad before and after Surg, No Chemo 3 ( 0.1)
SURGERY_YN (%) No 4465 ( 81.7)
Ukn 36 ( 0.7)
Yes 964 ( 17.6)
RADIATION_YN (%) No 4653 ( 85.1)
Yes 783 ( 14.3)
NA 29 ( 0.5)
CHEMO_YN (%) No 3798 ( 69.5)
Yes 1480 ( 27.1)
Ukn 187 ( 3.4)
IMMUNO_YN (%) No 5119 ( 93.7)
Yes 311 ( 5.7)
Ukn 35 ( 0.6)
Tx_YN (%) FALSE 2468 ( 45.2)
TRUE 2810 ( 51.4)
NA 187 ( 3.4)
mets_at_dx (%) Bone 4 ( 0.1)
Liver 3 ( 0.1)
Lung 6 ( 0.1)
None/Other/Unk/NA 5452 ( 99.8)
MEDICAID_EXPN_CODE (%) Non-Expansion State 1551 ( 28.4)
Jan 2014 Expansion States 1462 ( 26.8)
Early Expansion States (2010-13) 736 ( 13.5)
Late Expansion States (> Jan 2014) 747 ( 13.7)
Suppressed for Ages 0 - 39 969 ( 17.7)
EXPN_GROUP (%) Exclude 969 ( 17.7)
Post-Expansion 811 ( 14.8)
Pre-Expansion 3685 ( 67.4)
YEAR_OF_DIAGNOSIS (%) 2004 296 ( 5.4)
2005 341 ( 6.2)
2006 339 ( 6.2)
2007 354 ( 6.5)
2008 409 ( 7.5)
2009 479 ( 8.8)
2010 463 ( 8.5)
2011 465 ( 8.5)
2012 539 ( 9.9)
2013 554 ( 10.1)
2014 599 ( 11.0)
2015 627 ( 11.5)

Kaplan Meier Analysis

All

uni_var(test_var = "All", data_imp = data)
_________________________________________________
   
## All
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ All, data = data)

      n  events  median 0.95LCL 0.95UCL 
   5465    1147     158     155      NA 

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ All, data = data)

 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   4490     246    0.952 0.00302        0.946        0.957
   24   3770     228    0.900 0.00436        0.892        0.909
   36   3056     193    0.851 0.00538        0.841        0.862
   48   2441     147    0.807 0.00623        0.795        0.819
   60   1905     101    0.770 0.00694        0.757        0.784
  120    403     203    0.629 0.01136        0.608        0.652



   
## Univariable Cox Proportional Hazard Model for:  All

[1] "Only one level, no Cox model performed"




   
## Unadjusted Kaplan Meier Overall Survival Curve for:  All

Facility Type

uni_var(test_var = "FACILITY_TYPE_F", data_imp = data)
_________________________________________________
   
## FACILITY_TYPE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_TYPE_F, data = data)

   969 observations deleted due to missingness 
                                                 n events median 0.95LCL 0.95UCL
FACILITY_TYPE_F=Community Cancer Program       111     46     93    59.6     116
FACILITY_TYPE_F=Comprehensive Comm Ca Program  537    180    116    90.5      NA
FACILITY_TYPE_F=Academic/Research Program     3589    799    148   140.7      NA
FACILITY_TYPE_F=Integrated Network Ca Program  259     83    127    92.8      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_TYPE_F, data = data)

969 observations deleted due to missingness 
                FACILITY_TYPE_F=Community Cancer Program 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     89      15    0.860  0.0336        0.796        0.928
   24     76       6    0.799  0.0394        0.725        0.880
   36     55       6    0.729  0.0451        0.646        0.823
   48     44       4    0.671  0.0501        0.580        0.777
   60     35       5    0.589  0.0558        0.489        0.709
  120      5      10    0.246  0.0815        0.128        0.471

                FACILITY_TYPE_F=Comprehensive Comm Ca Program 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    434      44    0.913  0.0125        0.889        0.938
   24    348      39    0.827  0.0174        0.794        0.862
   36    273      33    0.745  0.0207        0.705        0.787
   48    212      19    0.690  0.0228        0.646        0.736
   60    169      15    0.638  0.0247        0.591        0.688
  120     43      28    0.466  0.0348        0.403        0.540

                FACILITY_TYPE_F=Academic/Research Program 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2946     156    0.953 0.00367        0.946        0.960
   24   2469     162    0.898 0.00547        0.887        0.908
   36   2006     139    0.843 0.00680        0.830        0.857
   48   1597     103    0.796 0.00785        0.781        0.812
   60   1250      72    0.757 0.00873        0.740        0.774
  120    246     144    0.608 0.01420        0.581        0.637

                FACILITY_TYPE_F=Integrated Network Ca Program 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    205      24    0.901  0.0191        0.865        0.940
   24    173      16    0.828  0.0248        0.781        0.878
   36    146       7    0.793  0.0271        0.742        0.848
   48    112      14    0.713  0.0318        0.653        0.778
   60     83       5    0.680  0.0336        0.617        0.749
  120     20      15    0.514  0.0475        0.428        0.616




   
## Univariable Cox Proportional Hazard Model for:  FACILITY_TYPE_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_TYPE_F, data = data)

  n= 4496, number of events= 1108 
   (969 observations deleted due to missingness)

                                                coef exp(coef) se(coef)      z Pr(>|z|)    
FACILITY_TYPE_FComprehensive Comm Ca Program -0.2452    0.7826   0.1653 -1.483   0.1379    
FACILITY_TYPE_FAcademic/Research Program     -0.6897    0.5017   0.1516 -4.548 5.41e-06 ***
FACILITY_TYPE_FIntegrated Network Ca Program -0.3140    0.7305   0.1839 -1.708   0.0876 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                             exp(coef) exp(-coef) lower .95 upper .95
FACILITY_TYPE_FComprehensive Comm Ca Program    0.7826      1.278    0.5660    1.0819
FACILITY_TYPE_FAcademic/Research Program        0.5017      1.993    0.3727    0.6754
FACILITY_TYPE_FIntegrated Network Ca Program    0.7305      1.369    0.5095    1.0474

Concordance= 0.549  (se = 0.007 )
Rsquare= 0.01   (max possible= 0.978 )
Likelihood ratio test= 46.3  on 3 df,   p=4.897e-10
Wald test            = 50.69  on 3 df,   p=5.693e-11
Score (logrank) test = 51.85  on 3 df,   p=3.217e-11
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  FACILITY_TYPE_F

Facility Location

uni_var(test_var = "FACILITY_LOCATION_F", data_imp = data)
_________________________________________________
   
## FACILITY_LOCATION_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_LOCATION_F, data = data)

   969 observations deleted due to missingness 
                                          n events median 0.95LCL 0.95UCL
FACILITY_LOCATION_F=New England         256     60     NA    97.2      NA
FACILITY_LOCATION_F=Middle Atlantic    1104    219  135.7   117.8      NA
FACILITY_LOCATION_F=South Atlantic      968    255  144.3   132.3      NA
FACILITY_LOCATION_F=East North Central  711    194  158.3   130.6      NA
FACILITY_LOCATION_F=East South Central  237     73  126.0   108.9      NA
FACILITY_LOCATION_F=West North Central  284     87   95.3    82.8      NA
FACILITY_LOCATION_F=West South Central  252     62  155.1   114.7      NA
FACILITY_LOCATION_F=Mountain            226     41     NA   134.3      NA
FACILITY_LOCATION_F=Pacific             458    117     NA   141.7      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_LOCATION_F, data = data)

969 observations deleted due to missingness 
                FACILITY_LOCATION_F=New England 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    184      15    0.933  0.0167        0.901        0.966
   24    139      16    0.844  0.0261        0.794        0.897
   36    128       6    0.807  0.0290        0.752        0.866
   48     97      11    0.733  0.0339        0.669        0.802
   60     70       6    0.679  0.0379        0.608        0.757
  120      3       6    0.577  0.0533        0.481        0.691

                FACILITY_LOCATION_F=Middle Atlantic 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    926      39    0.962 0.00594        0.951        0.974
   24    791      42    0.916 0.00894        0.899        0.934
   36    611      42    0.863 0.01163        0.840        0.886
   48    438      30    0.814 0.01402        0.787        0.842
   60    316      23    0.765 0.01650        0.733        0.798
  120     43      38    0.561 0.03589        0.494        0.636

                FACILITY_LOCATION_F=South Atlantic 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    810      50    0.945 0.00754        0.931        0.960
   24    690      48    0.886 0.01086        0.865        0.908
   36    567      47    0.822 0.01350        0.796        0.849
   48    480      22    0.788 0.01478        0.760        0.818
   60    396      24    0.746 0.01629        0.715        0.779
  120    100      55    0.593 0.02363        0.548        0.641

                FACILITY_LOCATION_F=East North Central 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    595      50    0.926  0.0101        0.906        0.946
   24    519      22    0.890  0.0123        0.866        0.914
   36    415      36    0.825  0.0155        0.795        0.855
   48    345      28    0.766  0.0179        0.732        0.802
   60    282      13    0.736  0.0191        0.699        0.774
  120     56      41    0.565  0.0300        0.509        0.627

                FACILITY_LOCATION_F=East South Central 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    193      16    0.928  0.0173        0.895        0.963
   24    162      20    0.829  0.0261        0.779        0.882
   36    135      10    0.776  0.0293        0.721        0.836
   48    100       9    0.721  0.0325        0.660        0.788
   60     76       5    0.682  0.0351        0.617        0.754
  120     23      11    0.528  0.0514        0.436        0.639

                FACILITY_LOCATION_F=West North Central 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    209      26    0.897  0.0191        0.861        0.936
   24    168      16    0.825  0.0246        0.778        0.875
   36    140      10    0.774  0.0280        0.721        0.831
   48    104      14    0.690  0.0328        0.629        0.757
   60     73       8    0.630  0.0363        0.562        0.705
  120      9      12    0.397  0.0650        0.288        0.547

                FACILITY_LOCATION_F=West South Central 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    214      10    0.958  0.0131        0.932        0.984
   24    165      20    0.863  0.0233        0.819        0.910
   36    134       7    0.823  0.0267        0.773        0.877
   48    110       9    0.764  0.0312        0.705        0.828
   60     77       8    0.703  0.0354        0.637        0.776
  120     12       7    0.588  0.0587        0.484        0.715

                FACILITY_LOCATION_F=Mountain 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    172       7    0.967  0.0123        0.943        0.991
   24    133      10    0.904  0.0225        0.861        0.949
   36    106       9    0.838  0.0297        0.782        0.898
   48     89       5    0.796  0.0337        0.732        0.865
   60     79       1    0.786  0.0346        0.721        0.857
  120     20       6    0.692  0.0499        0.601        0.797

                FACILITY_LOCATION_F=Pacific 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    371      26    0.940  0.0114        0.918        0.963
   24    299      29    0.862  0.0174        0.828        0.897
   36    244      18    0.806  0.0206        0.767        0.848
   48    202      12    0.764  0.0229        0.721        0.810
   60    168       9    0.729  0.0247        0.682        0.779
  120     48      21    0.588  0.0349        0.524        0.661




   
## Univariable Cox Proportional Hazard Model for:  FACILITY_LOCATION_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_LOCATION_F, data = data)

  n= 4496, number of events= 1108 
   (969 observations deleted due to missingness)

                                          coef exp(coef) se(coef)      z Pr(>|z|)  
FACILITY_LOCATION_FMiddle Atlantic    -0.30921   0.73403  0.14576 -2.121   0.0339 *
FACILITY_LOCATION_FSouth Atlantic     -0.19547   0.82245  0.14378 -1.359   0.1740  
FACILITY_LOCATION_FEast North Central -0.13210   0.87626  0.14787 -0.893   0.3717  
FACILITY_LOCATION_FEast South Central  0.03836   1.03911  0.17444  0.220   0.8259  
FACILITY_LOCATION_FWest North Central  0.24135   1.27297  0.16786  1.438   0.1505  
FACILITY_LOCATION_FWest South Central -0.10399   0.90123  0.18113 -0.574   0.5659  
FACILITY_LOCATION_FMountain           -0.41248   0.66200  0.20283 -2.034   0.0420 *
FACILITY_LOCATION_FPacific            -0.18747   0.82906  0.15922 -1.177   0.2390  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                      exp(coef) exp(-coef) lower .95 upper .95
FACILITY_LOCATION_FMiddle Atlantic       0.7340     1.3623    0.5516    0.9768
FACILITY_LOCATION_FSouth Atlantic        0.8224     1.2159    0.6205    1.0902
FACILITY_LOCATION_FEast North Central    0.8763     1.1412    0.6558    1.1708
FACILITY_LOCATION_FEast South Central    1.0391     0.9624    0.7382    1.4627
FACILITY_LOCATION_FWest North Central    1.2730     0.7856    0.9161    1.7689
FACILITY_LOCATION_FWest South Central    0.9012     1.1096    0.6319    1.2853
FACILITY_LOCATION_FMountain              0.6620     1.5106    0.4448    0.9852
FACILITY_LOCATION_FPacific               0.8291     1.2062    0.6068    1.1327

Concordance= 0.547  (se = 0.009 )
Rsquare= 0.006   (max possible= 0.978 )
Likelihood ratio test= 25.18  on 8 df,   p=0.00145
Wald test            = 26.5  on 8 df,   p=0.0008614
Score (logrank) test = 26.87  on 8 df,   p=0.0007444
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  FACILITY_LOCATION_F

Facility Geography

uni_var(test_var = "FACILITY_GEOGRAPHY", data_imp = data)
_________________________________________________
   
## FACILITY_GEOGRAPHY
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_GEOGRAPHY, data = data)

   969 observations deleted due to missingness 
                                n events median 0.95LCL 0.95UCL
FACILITY_GEOGRAPHY=Northeast 1360    279    136     118      NA
FACILITY_GEOGRAPHY=South     1220    317    155     132      NA
FACILITY_GEOGRAPHY=Midwest   1232    354    132     116      NA
FACILITY_GEOGRAPHY=West       684    158     NA     145      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_GEOGRAPHY, data = data)

969 observations deleted due to missingness 
                FACILITY_GEOGRAPHY=Northeast 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1110      54    0.957 0.00573        0.946        0.968
   24    930      58    0.904 0.00867        0.887        0.921
   36    739      48    0.853 0.01084        0.832        0.875
   48    535      41    0.799 0.01304        0.774        0.825
   60    386      29    0.749 0.01520        0.720        0.780
  120     46      44    0.557 0.03258        0.497        0.625

                FACILITY_GEOGRAPHY=South 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1024      60    0.948 0.00657        0.935        0.961
   24    855      68    0.882 0.00988        0.862        0.901
   36    701      54    0.822 0.01207        0.799        0.846
   48    590      31    0.783 0.01338        0.758        0.810
   60    473      32    0.738 0.01483        0.709        0.767
  120    112      62    0.591 0.02165        0.550        0.635

                FACILITY_GEOGRAPHY=Midwest 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    997      92    0.920 0.00802        0.904        0.936
   24    849      58    0.864 0.01035        0.844        0.885
   36    690      56    0.804 0.01237        0.780        0.829
   48    549      51    0.741 0.01421        0.714        0.769
   60    431      26    0.703 0.01531        0.674        0.734
  120     88      64    0.527 0.02422        0.481        0.576

                FACILITY_GEOGRAPHY=West 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    543      33    0.949 0.00872        0.932        0.966
   24    432      39    0.875 0.01391        0.848        0.903
   36    350      27    0.817 0.01693        0.784        0.850
   48    291      17    0.774 0.01891        0.738        0.812
   60    247      10    0.747 0.02018        0.708        0.787
  120     68      27    0.617 0.02916        0.562        0.677




   
## Univariable Cox Proportional Hazard Model for:  FACILITY_GEOGRAPHY

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ FACILITY_GEOGRAPHY, data = data)

  n= 4496, number of events= 1108 
   (969 observations deleted due to missingness)

                               coef exp(coef)  se(coef)     z Pr(>|z|)   
FACILITY_GEOGRAPHYSouth   0.0728737 1.0755947 0.0823713 0.885  0.37632   
FACILITY_GEOGRAPHYMidwest 0.2340738 1.2637378 0.0801929 2.919  0.00351 **
FACILITY_GEOGRAPHYWest    0.0004172 1.0004173 0.0999940 0.004  0.99667   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                          exp(coef) exp(-coef) lower .95 upper .95
FACILITY_GEOGRAPHYSouth       1.076     0.9297    0.9152     1.264
FACILITY_GEOGRAPHYMidwest     1.264     0.7913    1.0799     1.479
FACILITY_GEOGRAPHYWest        1.000     0.9996    0.8224     1.217

Concordance= 0.532  (se = 0.009 )
Rsquare= 0.002   (max possible= 0.978 )
Likelihood ratio test= 10.73  on 3 df,   p=0.01329
Wald test            = 10.93  on 3 df,   p=0.01213
Score (logrank) test = 10.97  on 3 df,   p=0.01191
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  FACILITY_GEOGRAPHY

Age Group

uni_var(test_var = "AGE_F", data_imp = data)
_________________________________________________
   
## AGE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_F, data = data)

   1 observation deleted due to missingness 
                  n events median 0.95LCL 0.95UCL
AGE_F=(0,54]   2367    201     NA      NA      NA
AGE_F=(54,64]  1294    236  158.3   158.3      NA
AGE_F=(64,74]  1075    304  115.2   104.6     131
AGE_F=(74,100]  728    406   51.2    46.3      58

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_F, data = data)

1 observation deleted due to missingness 
                AGE_F=(0,54] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1989      35    0.984 0.00270        0.979        0.989
   24   1715      45    0.960 0.00435        0.952        0.969
   36   1432      25    0.945 0.00524        0.935        0.956
   48   1159      33    0.922 0.00652        0.909        0.935
   60    929      21    0.903 0.00752        0.889        0.918
  120    227      35    0.846 0.01237        0.822        0.870

                AGE_F=(54,64] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1070      41    0.966 0.00527        0.955        0.976
   24    896      42    0.925 0.00795        0.910        0.941
   36    742      47    0.874 0.01042        0.854        0.895
   48    590      45    0.816 0.01284        0.791        0.842
   60    463      18    0.789 0.01393        0.762        0.817
  120     89      38    0.682 0.02087        0.643        0.724

                AGE_F=(64,74] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    859      65    0.935 0.00785        0.919        0.950
   24    712      59    0.867 0.01120        0.845        0.889
   36    556      49    0.802 0.01368        0.776        0.829
   48    453      32    0.753 0.01535        0.724        0.784
   60    341      27    0.703 0.01711        0.670        0.737
  120     60      63    0.473 0.02918        0.419        0.534

                AGE_F=(74,100] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    571     105    0.850  0.0135        0.824        0.877
   24    446      82    0.723  0.0173        0.690        0.758
   36    325      72    0.600  0.0196        0.563        0.639
   48    238      37    0.525  0.0206        0.486        0.567
   60    171      35    0.442  0.0216        0.402        0.487
  120     27      67    0.185  0.0247        0.143        0.241




   
## Univariable Cox Proportional Hazard Model for:  AGE_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_F, data = data)

  n= 5464, number of events= 1147 
   (1 observation deleted due to missingness)

                 coef exp(coef) se(coef)      z Pr(>|z|)    
AGE_F(54,64]  0.84094   2.31855  0.09602  8.758   <2e-16 ***
AGE_F(64,74]  1.35635   3.88201  0.09101 14.903   <2e-16 ***
AGE_F(74,100] 2.18581   8.89782  0.08660 25.239   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

              exp(coef) exp(-coef) lower .95 upper .95
AGE_F(54,64]      2.319     0.4313     1.921     2.799
AGE_F(64,74]      3.882     0.2576     3.248     4.640
AGE_F(74,100]     8.898     0.1124     7.509    10.544

Concordance= 0.708  (se = 0.009 )
Rsquare= 0.124   (max possible= 0.964 )
Likelihood ratio test= 722.3  on 3 df,   p=0
Wald test            = 702.1  on 3 df,   p=0
Score (logrank) test = 900.6  on 3 df,   p=0
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  AGE_F

Age Group

uni_var(test_var = "AGE_40", data_imp = data)
_________________________________________________
   
## AGE_40
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_40, data = data)

   1 observation deleted due to missingness 
                   n events median 0.95LCL 0.95UCL
AGE_40=(0,40]   1033     44     NA      NA      NA
AGE_40=(40,100] 4431   1103    145     135      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_40, data = data)

1 observation deleted due to missingness 
                AGE_40=(0,40] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    870       7    0.993 0.00278        0.987        0.998
   24    749       8    0.983 0.00442        0.974        0.992
   36    618       8    0.971 0.00596        0.960        0.983
   48    511       7    0.959 0.00740        0.945        0.974
   60    395       6    0.946 0.00906        0.929        0.964
  120     96       6    0.923 0.01329        0.897        0.949

                AGE_40=(40,100] 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   3619     239    0.942 0.00364        0.935        0.949
   24   3020     220    0.882 0.00521        0.871        0.892
   36   2437     185    0.824 0.00637        0.812        0.837
   48   1929     140    0.773 0.00731        0.758        0.787
   60   1509      95    0.731 0.00806        0.716        0.747
  120    307     197    0.569 0.01295        0.544        0.595




   
## Univariable Cox Proportional Hazard Model for:  AGE_40

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ AGE_40, data = data)

  n= 5464, number of events= 1147 
   (1 observation deleted due to missingness)

                 coef exp(coef) se(coef)     z Pr(>|z|)    
AGE_40(40,100] 1.8534    6.3816   0.1537 12.05   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

               exp(coef) exp(-coef) lower .95 upper .95
AGE_40(40,100]     6.382     0.1567     4.721     8.626

Concordance= 0.581  (se = 0.006 )
Rsquare= 0.048   (max possible= 0.964 )
Likelihood ratio test= 267.3  on 1 df,   p=0
Wald test            = 145.3  on 1 df,   p=0
Score (logrank) test = 192  on 1 df,   p=0
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  AGE_40

Gender

uni_var(test_var = "SEX_F", data_imp = data)
_________________________________________________
   
## SEX_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SEX_F, data = data)

                n events median 0.95LCL 0.95UCL
SEX_F=Male   3028    705    158     136      NA
SEX_F=Female 2437    442     NA     155      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SEX_F, data = data)

                SEX_F=Male 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2469     151    0.946 0.00427        0.938        0.955
   24   2051     147    0.887 0.00622        0.875        0.899
   36   1669     117    0.833 0.00758        0.818        0.848
   48   1319      84    0.787 0.00865        0.770        0.804
   60   1023      62    0.746 0.00963        0.728        0.766
  120    210     125    0.591 0.01556        0.562        0.623

                SEX_F=Female 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2021      95    0.958 0.00420        0.950        0.967
   24   1719      81    0.918 0.00597        0.906        0.929
   36   1387      76    0.874 0.00751        0.859        0.889
   48   1122      63    0.831 0.00889        0.814        0.849
   60    882      39    0.799 0.00990        0.780        0.819
  120    193      78    0.676 0.01650        0.645        0.709




   
## Univariable Cox Proportional Hazard Model for:  SEX_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SEX_F, data = data)

  n= 5465, number of events= 1147 

               coef exp(coef) se(coef)      z Pr(>|z|)    
SEX_FFemale -0.3049    0.7372   0.0607 -5.023 5.09e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

            exp(coef) exp(-coef) lower .95 upper .95
SEX_FFemale    0.7372      1.356    0.6545    0.8303

Concordance= 0.536  (se = 0.008 )
Rsquare= 0.005   (max possible= 0.964 )
Likelihood ratio test= 25.73  on 1 df,   p=3.923e-07
Wald test            = 25.23  on 1 df,   p=5.086e-07
Score (logrank) test = 25.43  on 1 df,   p=4.596e-07
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  SEX_F

RACE_F

uni_var(test_var = "RACE_F", data_imp = data)
_________________________________________________
   
## RACE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RACE_F, data = data)

                    n events median 0.95LCL 0.95UCL
RACE_F=White     3906    872    155     145      NA
RACE_F=Black     1152    235     NA     148      NA
RACE_F=Other/Unk  224     23     NA      NA      NA
RACE_F=Asian      183     17     NA      NA      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RACE_F, data = data)

                RACE_F=White 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   3219     185    0.949 0.00363        0.942        0.956
   24   2695     175    0.895 0.00527        0.885        0.905
   36   2190     153    0.841 0.00653        0.828        0.854
   48   1763     106    0.797 0.00745        0.782        0.812
   60   1378      77    0.759 0.00827        0.743        0.775
  120    280     151    0.615 0.01346        0.589        0.641

                RACE_F=Black 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    939      53    0.950 0.00670        0.937        0.963
   24    785      47    0.900 0.00958        0.881        0.918
   36    641      33    0.859 0.01148        0.837        0.882
   48    508      32    0.812 0.01356        0.785        0.839
   60    391      22    0.772 0.01528        0.743        0.803
  120     93      44    0.632 0.02432        0.586        0.682

                RACE_F=Other/Unk 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    189       3    0.985 0.00877        0.968        1.000
   24    161       4    0.963 0.01388        0.936        0.990
   36    123       3    0.942 0.01782        0.908        0.978
   48     82       8    0.870 0.02959        0.814        0.930
   60     64       0    0.870 0.02959        0.814        0.930
  120     12       5    0.743 0.06693        0.622        0.886

                RACE_F=Asian 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    143       5    0.970  0.0132        0.945        0.996
   24    129       2    0.957  0.0162        0.925        0.989
   36    102       4    0.924  0.0223        0.881        0.969
   48     88       1    0.915  0.0239        0.869        0.963
   60     72       2    0.893  0.0279        0.840        0.949
  120     18       3    0.825  0.0500        0.733        0.929




   
## Univariable Cox Proportional Hazard Model for:  RACE_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RACE_F, data = data)

  n= 5465, number of events= 1147 

                    coef exp(coef) se(coef)      z Pr(>|z|)    
RACE_FBlack     -0.09311   0.91109  0.07351 -1.267 0.205272    
RACE_FOther/Unk -0.70971   0.49179  0.21128 -3.359 0.000782 ***
RACE_FAsian     -0.92152   0.39792  0.24491 -3.763 0.000168 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                exp(coef) exp(-coef) lower .95 upper .95
RACE_FBlack        0.9111      1.098    0.7888    1.0523
RACE_FOther/Unk    0.4918      2.033    0.3250    0.7441
RACE_FAsian        0.3979      2.513    0.2462    0.6431

Concordance= 0.527  (se = 0.007 )
Rsquare= 0.006   (max possible= 0.964 )
Likelihood ratio test= 32.71  on 3 df,   p=3.709e-07
Wald test            = 25.52  on 3 df,   p=1.199e-05
Score (logrank) test = 26.9  on 3 df,   p=6.185e-06
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  RACE_F

Hispanic

uni_var(test_var = "HISPANIC", data_imp = data)
_________________________________________________
   
## HISPANIC
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ HISPANIC, data = data)

                    n events median 0.95LCL 0.95UCL
HISPANIC=No      4855   1040    158     148      NA
HISPANIC=Yes      358     54     NA      NA      NA
HISPANIC=Unknown  252     53     NA      NA      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ HISPANIC, data = data)

                HISPANIC=No 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   3971     225    0.950 0.00325        0.944        0.956
   24   3332     205    0.898 0.00467        0.889        0.907
   36   2710     176    0.848 0.00577        0.836        0.859
   48   2162     134    0.802 0.00667        0.789        0.815
   60   1688      91    0.765 0.00741        0.751        0.780
  120    355     181    0.624 0.01207        0.601        0.648

                HISPANIC=Yes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    299      12    0.964  0.0102        0.944        0.984
   24    244      15    0.912  0.0162        0.881        0.945
   36    187       6    0.887  0.0188        0.851        0.924
   48    149       7    0.852  0.0222        0.809        0.897
   60    103       7    0.804  0.0275        0.751        0.859
  120     12       7    0.672  0.0603        0.563        0.801

                HISPANIC=Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    220       9    0.962  0.0124        0.938        0.987
   24    194       8    0.926  0.0174        0.892        0.960
   36    159      11    0.869  0.0232        0.825        0.916
   48    130       6    0.834  0.0263        0.784        0.888
   60    114       3    0.815  0.0281        0.761        0.871
  120     36      15    0.663  0.0434        0.583        0.754




   
## Univariable Cox Proportional Hazard Model for:  HISPANIC

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ HISPANIC, data = data)

  n= 5465, number of events= 1147 

                   coef exp(coef) se(coef)      z Pr(>|z|)  
HISPANICYes     -0.2670    0.7657   0.1396 -1.912   0.0559 .
HISPANICUnknown -0.2018    0.8173   0.1410 -1.431   0.1524  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                exp(coef) exp(-coef) lower .95 upper .95
HISPANICYes        0.7657      1.306    0.5823     1.007
HISPANICUnknown    0.8173      1.224    0.6200     1.077

Concordance= 0.511  (se = 0.005 )
Rsquare= 0.001   (max possible= 0.964 )
Likelihood ratio test= 5.84  on 2 df,   p=0.05405
Wald test            = 5.46  on 2 df,   p=0.06532
Score (logrank) test = 5.48  on 2 df,   p=0.06443
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  HISPANIC

Insurance Status

uni_var(test_var = "INSURANCE_F", data_imp = data)
_________________________________________________
   
## INSURANCE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ INSURANCE_F, data = data)

                                n events median 0.95LCL 0.95UCL
INSURANCE_F=Private          3017    353     NA   158.3      NA
INSURANCE_F=None              211     34     NA      NA      NA
INSURANCE_F=Medicaid          336     57     NA      NA      NA
INSURANCE_F=Medicare         1677    651   82.8    75.0    92.8
INSURANCE_F=Other Government   83     17  117.2    95.3      NA
INSURANCE_F=Unknown           141     35     NA   126.5      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ INSURANCE_F, data = data)

                INSURANCE_F=Private 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2539      45    0.984 0.00240        0.979        0.988
   24   2176      71    0.955 0.00412        0.947        0.963
   36   1813      61    0.926 0.00538        0.916        0.937
   48   1474      65    0.890 0.00678        0.877        0.904
   60   1172      37    0.866 0.00770        0.851        0.881
  120    268      63    0.784 0.01257        0.760        0.809

                INSURANCE_F=None 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    171       7    0.963  0.0136        0.937        0.990
   24    151       6    0.929  0.0192        0.892        0.967
   36    120       7    0.883  0.0249        0.835        0.933
   48    100       8    0.819  0.0316        0.760        0.884
   60     76       2    0.802  0.0333        0.739        0.870
  120     17       4    0.743  0.0422        0.665        0.830

                INSURANCE_F=Medicaid 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    277      18    0.942  0.0132        0.917        0.969
   24    218      17    0.880  0.0192        0.843        0.918
   36    171       7    0.848  0.0220        0.806        0.892
   48    126       7    0.810  0.0253        0.762        0.861
   60     83       4    0.781  0.0282        0.728        0.838
  120      9       4    0.699  0.0483        0.610        0.800

                INSURANCE_F=Medicare 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1317     165    0.896 0.00771        0.881        0.911
   24   1066     124    0.807 0.01029        0.787        0.827
   36    820     108    0.719 0.01215        0.696        0.743
   48    636      64    0.658 0.01329        0.633        0.685
   60    487      54    0.598 0.01442        0.570        0.627
  120     85     120    0.358 0.02101        0.319        0.402

                INSURANCE_F=Other Government 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     70       3    0.960  0.0227        0.917        1.000
   24     61       1    0.946  0.0262        0.896        0.999
   36     46       4    0.875  0.0419        0.797        0.961
   48     36       1    0.853  0.0464        0.767        0.949
   60     31       0    0.853  0.0464        0.767        0.949
  120      6       7    0.487  0.1212        0.299        0.793

                INSURANCE_F=Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    116       8    0.938  0.0211        0.898        0.981
   24     98       9    0.863  0.0309        0.805        0.926
   36     86       6    0.810  0.0359        0.742        0.883
   48     69       2    0.789  0.0379        0.718        0.867
   60     56       4    0.740  0.0427        0.661        0.829
  120     18       5    0.650  0.0547        0.551        0.767




   
## Univariable Cox Proportional Hazard Model for:  INSURANCE_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ INSURANCE_F, data = data)

  n= 5465, number of events= 1147 

                               coef exp(coef) se(coef)      z Pr(>|z|)    
INSURANCE_FNone             0.34564   1.41290  0.17958  1.925  0.05426 .  
INSURANCE_FMedicaid         0.58579   1.79641  0.14292  4.099 4.15e-05 ***
INSURANCE_FMedicare         1.39602   4.03911  0.06625 21.072  < 2e-16 ***
INSURANCE_FOther Government 0.64379   1.90368  0.24835  2.592  0.00953 ** 
INSURANCE_FUnknown          0.71246   2.03900  0.17726  4.019 5.84e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                            exp(coef) exp(-coef) lower .95 upper .95
INSURANCE_FNone                 1.413     0.7078    0.9937     2.009
INSURANCE_FMedicaid             1.796     0.5567    1.3575     2.377
INSURANCE_FMedicare             4.039     0.2476    3.5473     4.599
INSURANCE_FOther Government     1.904     0.5253    1.1700     3.097
INSURANCE_FUnknown              2.039     0.4904    1.4406     2.886

Concordance= 0.668  (se = 0.008 )
Rsquare= 0.083   (max possible= 0.964 )
Likelihood ratio test= 476  on 5 df,   p=0
Wald test            = 460.9  on 5 df,   p=0
Score (logrank) test = 531.6  on 5 df,   p=0
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  INSURANCE_F

Income

class(data$INCOME_F)
[1] "factor"
uni_var(test_var = "INCOME_F", data_imp = data)
_________________________________________________
   
## INCOME_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ INCOME_F, data = data)

   27 observations deleted due to missingness 
                              n events median 0.95LCL 0.95UCL
INCOME_F=Less than $38,000  960    238    144     135      NA
INCOME_F=$38,000 - $47,999 1133    298    155     132      NA
INCOME_F=$48,000 - $62,999 1359    287    158     147      NA
INCOME_F=$63,000 +         1986    318     NA      NA      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ INCOME_F, data = data)

27 observations deleted due to missingness 
                INCOME_F=Less than $38,000 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    787      53    0.941 0.00793        0.925        0.956
   24    657      48    0.880 0.01125        0.858        0.902
   36    542      35    0.830 0.01343        0.804        0.857
   48    425      36    0.769 0.01581        0.739        0.801
   60    342      19    0.732 0.01720        0.699        0.767
  120     75      41    0.583 0.02686        0.533        0.639

                INCOME_F=$38,000 - $47,999 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    922      57    0.946 0.00697        0.932        0.960
   24    775      58    0.884 0.01024        0.864        0.904
   36    618      58    0.814 0.01292        0.789        0.839
   48    498      38    0.761 0.01469        0.732        0.790
   60    403      26    0.718 0.01606        0.687        0.750
  120     88      55    0.566 0.02342        0.522        0.614

                INCOME_F=$48,000 - $62,999 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1097      74    0.941 0.00662        0.928        0.954
   24    921      58    0.889 0.00918        0.871        0.907
   36    746      44    0.843 0.01098        0.822        0.865
   48    604      32    0.804 0.01247        0.780        0.829
   60    481      17    0.779 0.01347        0.753        0.806
  120     98      52    0.620 0.02415        0.574        0.669

                INCOME_F=$63,000 + 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1663      60    0.968 0.00413        0.959        0.976
   24   1402      63    0.929 0.00623        0.916        0.941
   36   1137      56    0.889 0.00794        0.873        0.904
   48    902      41    0.854 0.00932        0.835        0.872
   60    671      37    0.814 0.01093        0.793        0.836
  120    140      54    0.703 0.01839        0.667        0.740




   
## Univariable Cox Proportional Hazard Model for:  INCOME_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ INCOME_F, data = data)

  n= 5438, number of events= 1141 
   (27 observations deleted due to missingness)

                              coef exp(coef) se(coef)      z Pr(>|z|)    
INCOME_F$38,000 - $47,999  0.05749   1.05917  0.08694  0.661   0.5085    
INCOME_F$48,000 - $62,999 -0.14840   0.86209  0.08768 -1.692   0.0906 .  
INCOME_F$63,000 +         -0.43423   0.64776  0.08572 -5.066 4.07e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                          exp(coef) exp(-coef) lower .95 upper .95
INCOME_F$38,000 - $47,999    1.0592     0.9441    0.8932    1.2559
INCOME_F$48,000 - $62,999    0.8621     1.1600    0.7260    1.0237
INCOME_F$63,000 +            0.6478     1.5438    0.5476    0.7663

Concordance= 0.557  (se = 0.009 )
Rsquare= 0.008   (max possible= 0.964 )
Likelihood ratio test= 45.17  on 3 df,   p=8.531e-10
Wald test            = 43.8  on 3 df,   p=1.664e-09
Score (logrank) test = 44.46  on 3 df,   p=1.203e-09
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  INCOME_F

Education

uni_var(test_var = "EDUCATION_F", data_imp = data)
_________________________________________________
   
## EDUCATION_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ EDUCATION_F, data = data)

   26 observations deleted due to missingness 
                            n events median 0.95LCL 0.95UCL
EDUCATION_F=21% or more   931    230    144     132      NA
EDUCATION_F=13 - 20.9%   1319    307    155     135      NA
EDUCATION_F=7 - 12.9%    1699    375    148     145      NA
EDUCATION_F=Less than 7% 1490    229     NA      NA      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ EDUCATION_F, data = data)

26 observations deleted due to missingness 
                EDUCATION_F=21% or more 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    757      49    0.943 0.00788        0.928        0.959
   24    613      57    0.869 0.01196        0.846        0.892
   36    501      32    0.820 0.01405        0.793        0.848
   48    386      35    0.757 0.01656        0.725        0.790
   60    302      15    0.724 0.01789        0.690        0.760
  120     68      37    0.573 0.02802        0.521        0.631

                EDUCATION_F=13 - 20.9% 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1095      60    0.951 0.00618        0.939        0.963
   24    942      60    0.897 0.00898        0.879        0.914
   36    766      52    0.844 0.01102        0.823        0.866
   48    606      42    0.794 0.01280        0.769        0.819
   60    474      29    0.753 0.01423        0.726        0.781
  120    101      58    0.584 0.02419        0.539        0.634

                EDUCATION_F=7 - 12.9% 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1397      87    0.945 0.00570        0.934        0.957
   24   1162      70    0.895 0.00797        0.879        0.911
   36    937      67    0.840 0.00993        0.821        0.860
   48    750      40    0.801 0.01121        0.780        0.823
   60    601      29    0.767 0.01238        0.743        0.792
  120    121      69    0.623 0.01985        0.585        0.663

                EDUCATION_F=Less than 7% 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1221      48    0.965 0.00494        0.956        0.975
   24   1039      40    0.932 0.00707        0.918        0.946
   36    840      42    0.891 0.00916        0.873        0.909
   48    688      30    0.856 0.01076        0.835        0.878
   60    520      26    0.820 0.01242        0.796        0.845
  120    111      38    0.722 0.01981        0.684        0.762




   
## Univariable Cox Proportional Hazard Model for:  EDUCATION_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ EDUCATION_F, data = data)

  n= 5439, number of events= 1141 
   (26 observations deleted due to missingness)

                            coef exp(coef) se(coef)      z Pr(>|z|)    
EDUCATION_F13 - 20.9%   -0.12274   0.88449  0.08722 -1.407   0.1593    
EDUCATION_F7 - 12.9%    -0.14596   0.86419  0.08376 -1.742   0.0814 .  
EDUCATION_FLess than 7% -0.51247   0.59901  0.09336 -5.489 4.04e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                        exp(coef) exp(-coef) lower .95 upper .95
EDUCATION_F13 - 20.9%      0.8845      1.131    0.7455    1.0494
EDUCATION_F7 - 12.9%       0.8642      1.157    0.7334    1.0184
EDUCATION_FLess than 7%    0.5990      1.669    0.4988    0.7193

Concordance= 0.546  (se = 0.009 )
Rsquare= 0.007   (max possible= 0.964 )
Likelihood ratio test= 36.35  on 3 df,   p=6.305e-08
Wald test            = 34.18  on 3 df,   p=1.812e-07
Score (logrank) test = 34.69  on 3 df,   p=1.418e-07
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  EDUCATION_F

Urban/Rural

uni_var(test_var = "U_R_F", data_imp = data)
_________________________________________________
   
## U_R_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ U_R_F, data = data)

   137 observations deleted due to missingness 
               n events median 0.95LCL 0.95UCL
U_R_F=Metro 4722    936    158   158.3      NA
U_R_F=Urban  537    154    155   115.9      NA
U_R_F=Rural   69     20     NA    98.2      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ U_R_F, data = data)

137 observations deleted due to missingness 
                U_R_F=Metro 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   3901     190    0.957 0.00308        0.951        0.963
   24   3274     186    0.908 0.00453        0.900        0.917
   36   2651     155    0.862 0.00562        0.851        0.873
   48   2116     126    0.818 0.00659        0.805        0.831
   60   1636      87    0.780 0.00740        0.766        0.795
  120    345     166    0.642 0.01237        0.619        0.667

                U_R_F=Urban 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    427      39    0.922  0.0119        0.899        0.946
   24    361      32    0.851  0.0164        0.819        0.884
   36    293      28    0.781  0.0197        0.743        0.820
   48    238      18    0.730  0.0218        0.689        0.774
   60    199       9    0.701  0.0230        0.657        0.747
  120     46      25    0.559  0.0328        0.498        0.627

                U_R_F=Rural 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     59       7    0.895  0.0376        0.824        0.972
   24     51       3    0.847  0.0446        0.764        0.939
   36     46       4    0.780  0.0522        0.684        0.889
   48     37       0    0.780  0.0522        0.684        0.889
   60     31       1    0.756  0.0557        0.655        0.874
  120      5       5    0.550  0.0957        0.391        0.773




   
## Univariable Cox Proportional Hazard Model for:  U_R_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ U_R_F, data = data)

  n= 5328, number of events= 1110 
   (137 observations deleted due to missingness)

             coef exp(coef) se(coef)     z Pr(>|z|)    
U_R_FUrban 0.3602    1.4336   0.0870 4.140 3.47e-05 ***
U_R_FRural 0.3055    1.3573   0.2260 1.352    0.177    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

           exp(coef) exp(-coef) lower .95 upper .95
U_R_FUrban     1.434     0.6975    1.2089     1.700
U_R_FRural     1.357     0.7368    0.8715     2.114

Concordance= 0.526  (se = 0.005 )
Rsquare= 0.003   (max possible= 0.963 )
Likelihood ratio test= 16.96  on 2 df,   p=0.0002074
Wald test            = 18.42  on 2 df,   p=0.0001003
Score (logrank) test = 18.61  on 2 df,   p=9.097e-05
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  U_R_F

Class (treatment at performing facility)

uni_var(test_var = "CLASS_OF_CASE_F", data_imp = data)
_________________________________________________
   
## CLASS_OF_CASE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CLASS_OF_CASE_F, data = data)

                                  n events median 0.95LCL 0.95UCL
CLASS_OF_CASE_F=Other_Facility  314     40    132     127      NA
CLASS_OF_CASE_F=All_Part_Prim  5151   1107    158     155      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CLASS_OF_CASE_F, data = data)

                CLASS_OF_CASE_F=Other_Facility 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    194       7    0.970  0.0114        0.948        0.992
   24    151       8    0.927  0.0185        0.891        0.963
   36    123       8    0.875  0.0250        0.827        0.925
   48     91       3    0.851  0.0278        0.798        0.907
   60     73       2    0.830  0.0307        0.772        0.893
  120     12      10    0.623  0.0639        0.510        0.762

                CLASS_OF_CASE_F=All_Part_Prim 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   4296     239    0.951 0.00311        0.945        0.957
   24   3619     220    0.899 0.00448        0.891        0.908
   36   2933     185    0.850 0.00551        0.839        0.861
   48   2350     144    0.805 0.00638        0.792        0.817
   60   1832      99    0.768 0.00710        0.754        0.782
  120    391     193    0.630 0.01153        0.607        0.653




   
## Univariable Cox Proportional Hazard Model for:  CLASS_OF_CASE_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CLASS_OF_CASE_F, data = data)

  n= 5465, number of events= 1147 

                               coef exp(coef) se(coef)     z Pr(>|z|)
CLASS_OF_CASE_FAll_Part_Prim 0.1392    1.1493   0.1610 0.865    0.387

                             exp(coef) exp(-coef) lower .95 upper .95
CLASS_OF_CASE_FAll_Part_Prim     1.149     0.8701    0.8383     1.576

Concordance= 0.504  (se = 0.003 )
Rsquare= 0   (max possible= 0.964 )
Likelihood ratio test= 0.78  on 1 df,   p=0.3769
Wald test            = 0.75  on 1 df,   p=0.3873
Score (logrank) test = 0.75  on 1 df,   p=0.3869
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  CLASS_OF_CASE_F

Year

uni_var(test_var = "YEAR_OF_DIAGNOSIS", data_imp = data)
_________________________________________________
   
## YEAR_OF_DIAGNOSIS
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ YEAR_OF_DIAGNOSIS, data = data)

                         n events median 0.95LCL 0.95UCL
YEAR_OF_DIAGNOSIS=2004 296     97     NA   155.1      NA
YEAR_OF_DIAGNOSIS=2005 341    134    145   132.1      NA
YEAR_OF_DIAGNOSIS=2006 339    109     NA      NA      NA
YEAR_OF_DIAGNOSIS=2007 354    100     NA      NA      NA
YEAR_OF_DIAGNOSIS=2008 409    119     NA   115.5      NA
YEAR_OF_DIAGNOSIS=2009 479    106     NA   104.8      NA
YEAR_OF_DIAGNOSIS=2010 463     95     NA      NA      NA
YEAR_OF_DIAGNOSIS=2011 465     99     NA      NA      NA
YEAR_OF_DIAGNOSIS=2012 539     93     NA    69.6      NA
YEAR_OF_DIAGNOSIS=2013 554     91     NA      NA      NA
YEAR_OF_DIAGNOSIS=2014 599     63     NA      NA      NA
YEAR_OF_DIAGNOSIS=2015 627     41     NA      NA      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ YEAR_OF_DIAGNOSIS, data = data)

                YEAR_OF_DIAGNOSIS=2004 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    260      16    0.945  0.0135        0.918        0.971
   24    243       6    0.922  0.0160        0.891        0.954
   36    225      12    0.876  0.0200        0.838        0.916
   48    212      10    0.837  0.0226        0.793        0.882
   60    196      10    0.797  0.0248        0.749        0.847
  120    116      31    0.647  0.0317        0.588        0.712

                YEAR_OF_DIAGNOSIS=2005 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    299      18    0.945  0.0127        0.920        0.970
   24    269      17    0.889  0.0177        0.855        0.925
   36    248      20    0.823  0.0217        0.782        0.867
   48    228      16    0.769  0.0241        0.724        0.818
   60    208      15    0.718  0.0258        0.669        0.771
  120    124      35    0.581  0.0297        0.526        0.642

                YEAR_OF_DIAGNOSIS=2006 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    287      26    0.920  0.0150        0.891        0.950
   24    255      16    0.868  0.0191        0.831        0.906
   36    236      13    0.823  0.0217        0.781        0.867
   48    225       7    0.798  0.0230        0.754        0.845
   60    208      12    0.755  0.0249        0.708        0.805
  120    113      32    0.624  0.0295        0.569        0.685

                YEAR_OF_DIAGNOSIS=2007 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    310      23    0.933  0.0135        0.907        0.960
   24    270      25    0.855  0.0194        0.818        0.894
   36    257       5    0.839  0.0203        0.800        0.880
   48    235      12    0.799  0.0224        0.757        0.844
   60    214       9    0.768  0.0238        0.723        0.816
  120     50      25    0.655  0.0297        0.599        0.716

                YEAR_OF_DIAGNOSIS=2008 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    351      20    0.948  0.0113        0.926        0.971
   24    316      21    0.890  0.0163        0.859        0.922
   36    281      25    0.819  0.0203        0.780        0.859
   48    250      15    0.774  0.0222        0.731        0.818
   60    221      11    0.739  0.0236        0.694        0.786

                YEAR_OF_DIAGNOSIS=2009 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    397      26    0.942  0.0110        0.921        0.964
   24    366      22    0.889  0.0151        0.860        0.919
   36    318      18    0.844  0.0178        0.810        0.879
   48    296      10    0.817  0.0191        0.780        0.855
   60    273       7    0.797  0.0201        0.759        0.837

                YEAR_OF_DIAGNOSIS=2010 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    401      10    0.977 0.00725        0.963        0.991
   24    354      22    0.921 0.01338        0.895        0.948
   36    331       9    0.898 0.01520        0.868        0.928
   48    299      24    0.832 0.01912        0.795        0.870
   60    255      14    0.790 0.02115        0.750        0.833

                YEAR_OF_DIAGNOSIS=2011 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    404      18    0.959 0.00941        0.941        0.978
   24    361      18    0.915 0.01360        0.889        0.942
   36    328      20    0.864 0.01701        0.831        0.898
   48    288      19    0.812 0.01971        0.774        0.851
   60    225      13    0.771 0.02169        0.730        0.815

                YEAR_OF_DIAGNOSIS=2012 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    450      16    0.968 0.00788        0.953        0.984
   24    396      23    0.916 0.01287        0.891        0.942
   36    338      31    0.842 0.01741        0.809        0.877
   48    282      13    0.808 0.01910        0.772        0.846
   60    105       7    0.779 0.02153        0.738        0.823

                YEAR_OF_DIAGNOSIS=2013 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    432      29    0.943  0.0102        0.923        0.964
   24    362      23    0.890  0.0145        0.862        0.919
   36    306      22    0.833  0.0179        0.799        0.869
   48    126      14    0.787  0.0208        0.748        0.829

                YEAR_OF_DIAGNOSIS=2014 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    461      22    0.959 0.00856        0.942        0.976
   24    389      20    0.916 0.01255        0.891        0.940
   36    188      14    0.877 0.01571        0.847        0.909

                YEAR_OF_DIAGNOSIS=2015 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    438      22    0.959 0.00868        0.942        0.976
   24    189      15    0.916 0.01385        0.889        0.944




   
## Univariable Cox Proportional Hazard Model for:  YEAR_OF_DIAGNOSIS

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ YEAR_OF_DIAGNOSIS, data = data)

  n= 5465, number of events= 1147 

                          coef exp(coef) se(coef)      z Pr(>|z|)  
YEAR_OF_DIAGNOSIS2005  0.27739   1.31968  0.13438  2.064    0.039 *
YEAR_OF_DIAGNOSIS2006  0.14336   1.15414  0.14152  1.013    0.311  
YEAR_OF_DIAGNOSIS2007  0.05856   1.06031  0.14510  0.404    0.687  
YEAR_OF_DIAGNOSIS2008  0.21702   1.24237  0.14010  1.549    0.121  
YEAR_OF_DIAGNOSIS2009 -0.00370   0.99631  0.14416 -0.026    0.980  
YEAR_OF_DIAGNOSIS2010 -0.02641   0.97393  0.14842 -0.178    0.859  
YEAR_OF_DIAGNOSIS2011  0.09719   1.10207  0.14750  0.659    0.510  
YEAR_OF_DIAGNOSIS2012  0.04982   1.05108  0.15027  0.332    0.740  
YEAR_OF_DIAGNOSIS2013  0.20877   1.23217  0.15179  1.375    0.169  
YEAR_OF_DIAGNOSIS2014 -0.03117   0.96931  0.16810 -0.185    0.853  
YEAR_OF_DIAGNOSIS2015 -0.10718   0.89836  0.19337 -0.554    0.579  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                      exp(coef) exp(-coef) lower .95 upper .95
YEAR_OF_DIAGNOSIS2005    1.3197     0.7578    1.0141     1.717
YEAR_OF_DIAGNOSIS2006    1.1541     0.8664    0.8746     1.523
YEAR_OF_DIAGNOSIS2007    1.0603     0.9431    0.7979     1.409
YEAR_OF_DIAGNOSIS2008    1.2424     0.8049    0.9441     1.635
YEAR_OF_DIAGNOSIS2009    0.9963     1.0037    0.7511     1.322
YEAR_OF_DIAGNOSIS2010    0.9739     1.0268    0.7281     1.303
YEAR_OF_DIAGNOSIS2011    1.1021     0.9074    0.8254     1.472
YEAR_OF_DIAGNOSIS2012    1.0511     0.9514    0.7829     1.411
YEAR_OF_DIAGNOSIS2013    1.2322     0.8116    0.9151     1.659
YEAR_OF_DIAGNOSIS2014    0.9693     1.0317    0.6972     1.348
YEAR_OF_DIAGNOSIS2015    0.8984     1.1131    0.6150     1.312

Concordance= 0.534  (se = 0.009 )
Rsquare= 0.002   (max possible= 0.964 )
Likelihood ratio test= 13.44  on 11 df,   p=0.2653
Wald test            = 13.58  on 11 df,   p=0.2569
Score (logrank) test = 13.65  on 11 df,   p=0.2532
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  YEAR_OF_DIAGNOSIS
This manual palette can handle a maximum of 10 values. You have supplied 12.

Primary Site

uni_var(test_var = "SITE_TEXT", data_imp = data)
_________________________________________________
   
## SITE_TEXT
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SITE_TEXT, data = data)

                                                             n events median 0.95LCL 0.95UCL
SITE_TEXT=C44.0 Skin of lip, NOS                            13      1     NA      NA      NA
SITE_TEXT=C44.1 Eyelid                                      12      5   59.6    49.7      NA
SITE_TEXT=C44.2 External ear                                 6      2   39.0    39.0      NA
SITE_TEXT=C44.3 Skin of ear and unspecified parts of face  164     30     NA      NA      NA
SITE_TEXT=C44.4 Skin of scalp and neck                      66     17  135.7    66.0      NA
SITE_TEXT=C44.5 Skin of trunk                              864    128     NA      NA      NA
SITE_TEXT=C44.6 Skin of upper limb and shoulder            296     56     NA   130.7      NA
SITE_TEXT=C44.7 Skin of lower limb and hip                 557     78     NA      NA      NA
SITE_TEXT=C44.8 Overlapping lesion of skin                 515    127  140.7   114.8      NA
SITE_TEXT=C44.9 Skin, NOS                                 2969    702  155.1   139.0      NA
SITE_TEXT=C51.9 Vulva, NOS                                   2      1   12.6      NA      NA
SITE_TEXT=C60.9 Penis                                        1      0     NA      NA      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SITE_TEXT, data = data)

                SITE_TEXT=C44.0 Skin of lip, NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     10       0    1.000   0.000        1.000            1
   24      7       1    0.889   0.105        0.706            1
   36      6       0    0.889   0.105        0.706            1
   48      5       0    0.889   0.105        0.706            1
   60      3       0    0.889   0.105        0.706            1
  120      2       0    0.889   0.105        0.706            1

                SITE_TEXT=C44.1 Eyelid 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     11       1    0.917  0.0798        0.773            1
   24      7       2    0.733  0.1324        0.515            1
   36      5       0    0.733  0.1324        0.515            1
   48      5       0    0.733  0.1324        0.515            1
   60      2       2    0.391  0.1953        0.147            1
  120      1       0    0.391  0.1953        0.147            1

                SITE_TEXT=C44.2 External ear 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      4       1      0.8   0.179        0.516            1
   24      3       0      0.8   0.179        0.516            1
   36      2       0      0.8   0.179        0.516            1

                SITE_TEXT=C44.3 Skin of ear and unspecified parts of face 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    143       3    0.980  0.0113        0.958        1.000
   24    123       5    0.944  0.0193        0.907        0.982
   36    106       7    0.888  0.0273        0.836        0.943
   48     86       5    0.842  0.0328        0.780        0.909
   60     72       4    0.801  0.0371        0.732        0.877
  120     20       6    0.702  0.0516        0.608        0.811

                SITE_TEXT=C44.4 Skin of scalp and neck 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     49       5    0.920  0.0344        0.855        0.990
   24     41       3    0.860  0.0464        0.774        0.956
   36     31       3    0.792  0.0569        0.688        0.912
   48     23       1    0.759  0.0634        0.644        0.894
   60     17       1    0.721  0.0707        0.595        0.874
  120      5       3    0.578  0.0942        0.420        0.796

                SITE_TEXT=C44.5 Skin of trunk 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    714      25    0.969 0.00612        0.957        0.981
   24    613      23    0.936 0.00899        0.918        0.954
   36    522      20    0.903 0.01124        0.882        0.926
   48    450      13    0.880 0.01274        0.855        0.905
   60    353      18    0.842 0.01498        0.813        0.872
  120     85      25    0.750 0.02305        0.706        0.796

                SITE_TEXT=C44.6 Skin of upper limb and shoulder 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    232      13    0.950  0.0136        0.924        0.977
   24    188      13    0.894  0.0198        0.856        0.934
   36    157       8    0.854  0.0234        0.809        0.901
   48    122       6    0.818  0.0267        0.767        0.872
   60     97       2    0.803  0.0281        0.750        0.860
  120     22      13    0.623  0.0524        0.528        0.735

                SITE_TEXT=C44.7 Skin of lower limb and hip 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    473       7    0.986 0.00517        0.976        0.996
   24    409      17    0.949 0.01013        0.930        0.969
   36    343      14    0.915 0.01332        0.889        0.941
   48    282      11    0.883 0.01592        0.852        0.915
   60    229       6    0.862 0.01768        0.828        0.898
  120     46      21    0.684 0.04060        0.609        0.768

                SITE_TEXT=C44.8 Overlapping lesion of skin 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    419      33    0.931  0.0117        0.908        0.954
   24    360      23    0.877  0.0154        0.847        0.908
   36    297      19    0.828  0.0182        0.793        0.865
   48    238      15    0.783  0.0206        0.744        0.825
   60    184      12    0.739  0.0231        0.695        0.786
  120     32      22    0.566  0.0394        0.494        0.649

                SITE_TEXT=C44.9 Skin, NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2433     158    0.943 0.00439        0.935        0.952
   24   2018     140    0.886 0.00626        0.874        0.898
   36   1586     122    0.828 0.00775        0.813        0.843
   48   1229      95    0.774 0.00903        0.756        0.791
   60    948      56    0.735 0.00997        0.715        0.754
  120    190     113    0.589 0.01581        0.559        0.621

                SITE_TEXT=C51.9 Vulva, NOS 
        time       n.risk      n.event     survival      std.err lower 95% CI upper 95% CI 
          12            1            0            1            0            1            1 

                SITE_TEXT=C60.9 Penis 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      1       0        1       0            1            1
   24      1       0        1       0            1            1
   36      1       0        1       0            1            1
   48      1       0        1       0            1            1




   
## Univariable Cox Proportional Hazard Model for:  SITE_TEXT
Loglik converged before variable  11 ; beta may be infinite. 
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SITE_TEXT, data = data)

  n= 5465, number of events= 1147 

                                                               coef  exp(coef)   se(coef)      z Pr(>|z|)  
SITE_TEXTC44.1 Eyelid                                     1.798e+00  6.038e+00  1.096e+00  1.641   0.1007  
SITE_TEXTC44.2 External ear                               2.047e+00  7.745e+00  1.225e+00  1.671   0.0947 .
SITE_TEXTC44.3 Skin of ear and unspecified parts of face  6.801e-01  1.974e+00  1.017e+00  0.669   0.5035  
SITE_TEXTC44.4 Skin of scalp and neck                     1.305e+00  3.688e+00  1.029e+00  1.268   0.2047  
SITE_TEXTC44.5 Skin of trunk                              5.256e-01  1.691e+00  1.004e+00  0.523   0.6006  
SITE_TEXTC44.6 Skin of upper limb and shoulder            9.191e-01  2.507e+00  1.009e+00  0.911   0.3623  
SITE_TEXTC44.7 Skin of lower limb and hip                 4.622e-01  1.588e+00  1.006e+00  0.459   0.6461  
SITE_TEXTC44.8 Overlapping lesion of skin                 1.122e+00  3.071e+00  1.004e+00  1.117   0.2638  
SITE_TEXTC44.9 Skin, NOS                                  1.126e+00  3.082e+00  1.001e+00  1.125   0.2607  
SITE_TEXTC51.9 Vulva, NOS                                 3.303e+00  2.719e+01  1.415e+00  2.334   0.0196 *
SITE_TEXTC60.9 Penis                                     -1.056e+01  2.589e-05  6.327e+02 -0.017   0.9867  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                                         exp(coef) exp(-coef) lower .95 upper .95
SITE_TEXTC44.1 Eyelid                                    6.038e+00  1.656e-01    0.7053     51.70
SITE_TEXTC44.2 External ear                              7.745e+00  1.291e-01    0.7019     85.47
SITE_TEXTC44.3 Skin of ear and unspecified parts of face 1.974e+00  5.066e-01    0.2692     14.48
SITE_TEXTC44.4 Skin of scalp and neck                    3.688e+00  2.712e-01    0.4907     27.72
SITE_TEXTC44.5 Skin of trunk                             1.691e+00  5.912e-01    0.2364     12.10
SITE_TEXTC44.6 Skin of upper limb and shoulder           2.507e+00  3.989e-01    0.3470     18.11
SITE_TEXTC44.7 Skin of lower limb and hip                1.588e+00  6.299e-01    0.2208     11.41
SITE_TEXTC44.8 Overlapping lesion of skin                3.071e+00  3.257e-01    0.4291     21.97
SITE_TEXTC44.9 Skin, NOS                                 3.082e+00  3.244e-01    0.4335     21.91
SITE_TEXTC51.9 Vulva, NOS                                2.719e+01  3.677e-02    1.6973    435.70
SITE_TEXTC60.9 Penis                                     2.589e-05  3.863e+04    0.0000       Inf

Concordance= 0.567  (se = 0.009 )
Rsquare= 0.016   (max possible= 0.964 )
Likelihood ratio test= 85.71  on 11 df,   p=1.151e-13
Wald test            = 80.72  on 11 df,   p=1.072e-12
Score (logrank) test = 86.85  on 11 df,   p=6.883e-14
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).Removed 12 rows containing missing values (geom_text).Removed 12 rows containing missing values (geom_text).Removed 12 rows containing missing values (geom_text).Removed 12 rows containing missing values (geom_text).Removed 12 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  SITE_TEXT
This manual palette can handle a maximum of 10 values. You have supplied 12.

Histology

#uni_var(test_var = "HISTOLOGY_F_LIM", data_imp = data)

Behavior

uni_var(test_var = "BEHAVIOR", data_imp = data)
_________________________________________________
   
## BEHAVIOR
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ BEHAVIOR, data = data)

      n  events  median 0.95LCL 0.95UCL 
   5465    1147     158     155      NA 

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ BEHAVIOR, data = data)

 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   4490     246    0.952 0.00302        0.946        0.957
   24   3770     228    0.900 0.00436        0.892        0.909
   36   3056     193    0.851 0.00538        0.841        0.862
   48   2441     147    0.807 0.00623        0.795        0.819
   60   1905     101    0.770 0.00694        0.757        0.784
  120    403     203    0.629 0.01136        0.608        0.652



   
## Univariable Cox Proportional Hazard Model for:  BEHAVIOR

[1] "Only one level, no Cox model performed"




   
## Unadjusted Kaplan Meier Overall Survival Curve for:  BEHAVIOR

Grade

#uni_var(test_var = "GRADE_F", data_imp = data)

Clinical T Stage

uni_var(test_var = "TNM_CLIN_T", data_imp = data)
_________________________________________________
   
## TNM_CLIN_T
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_T, data = data)

   148 observations deleted due to missingness 
                  n events median 0.95LCL 0.95UCL
TNM_CLIN_T=N_A   10      2   40.0    30.4      NA
TNM_CLIN_T=c1  1654    123     NA      NA      NA
TNM_CLIN_T=c1A  246     15     NA      NA      NA
TNM_CLIN_T=c1B  118     12     NA      NA      NA
TNM_CLIN_T=c2   788    153     NA   109.7      NA
TNM_CLIN_T=c2A   82      7     NA      NA      NA
TNM_CLIN_T=c2B  111     19     NA      NA      NA
TNM_CLIN_T=c3   376    148   64.2    51.0    95.3
TNM_CLIN_T=c4   289    140   48.0    39.5    61.5
TNM_CLIN_T=cX  1643    511  158.3   147.6      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_T, data = data)

148 observations deleted due to missingness 
                TNM_CLIN_T=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      7       0      1.0   0.000        1.000            1
   24      5       0      1.0   0.000        1.000            1
   36      1       1      0.5   0.354        0.125            1
   48      1       0      0.5   0.354        0.125            1

                TNM_CLIN_T=c1 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1352      18    0.988 0.00284        0.982        0.993
   24   1153      21    0.972 0.00447        0.963        0.981
   36    913      22    0.952 0.00609        0.940        0.964
   48    676      25    0.922 0.00832        0.906        0.938
   60    472      11    0.905 0.00967        0.886        0.924
  120     35      26    0.788 0.03077        0.730        0.851

                TNM_CLIN_T=c1A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    207       3    0.987  0.0073        0.973        1.000
   24    162       3    0.972  0.0115        0.949        0.994
   36    121       6    0.929  0.0203        0.890        0.970
   48     87       2    0.910  0.0240        0.864        0.958
   60     49       1    0.892  0.0294        0.836        0.952

                TNM_CLIN_T=c1B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     94       0    1.000  0.0000        1.000        1.000
   24     69       8    0.907  0.0315        0.847        0.971
   36     46       1    0.890  0.0351        0.824        0.961
   48     36       0    0.890  0.0351        0.824        0.961
   60     22       2    0.827  0.0547        0.726        0.941

                TNM_CLIN_T=c2 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    632      31    0.957 0.00757        0.942        0.972
   24    527      26    0.915 0.01089        0.893        0.936
   36    414      27    0.864 0.01399        0.837        0.892
   48    293      26    0.803 0.01739        0.770        0.838
   60    207      19    0.743 0.02091        0.703        0.785
  120     13      24    0.518 0.05418        0.422        0.636

                TNM_CLIN_T=c2A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     65       1    0.988  0.0124        0.963        1.000
   24     54       2    0.953  0.0266        0.903        1.000
   36     29       3    0.886  0.0456        0.801        0.980
   48     18       0    0.886  0.0456        0.801        0.980
   60     12       1    0.818  0.0778        0.678        0.985

                TNM_CLIN_T=c2B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     85       2    0.979  0.0144        0.952        1.000
   24     62       5    0.917  0.0301        0.860        0.978
   36     39       7    0.797  0.0500        0.705        0.901
   48     26       4    0.701  0.0632        0.587        0.836
   60     18       0    0.701  0.0632        0.587        0.836

                TNM_CLIN_T=c3 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    302      42    0.883  0.0170        0.850        0.917
   24    220      44    0.746  0.0238        0.701        0.794
   36    153      26    0.650  0.0273        0.599        0.706
   48    108      18    0.567  0.0300        0.511        0.629
   60     66       9    0.510  0.0325        0.450        0.578
  120      3       9    0.373  0.0495        0.287        0.484

                TNM_CLIN_T=c4 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    211      47    0.829  0.0228        0.785        0.875
   24    165      27    0.718  0.0281        0.665        0.775
   36    115      29    0.584  0.0320        0.525        0.651
   48     82      15    0.503  0.0338        0.440        0.573
   60     52      10    0.430  0.0360        0.365        0.506
  120      4      12    0.262  0.0519        0.178        0.387

                TNM_CLIN_T=cX 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1416      97    0.938 0.00606        0.927        0.950
   24   1266      84    0.881 0.00831        0.865        0.898
   36   1164      71    0.831 0.00973        0.812        0.850
   48   1076      54    0.792 0.01064        0.771        0.813
   60    984      46    0.757 0.01132        0.736        0.780
  120    348     130    0.627 0.01437        0.600        0.656




   
## Univariable Cox Proportional Hazard Model for:  TNM_CLIN_T

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_T, data = data)

  n= 5317, number of events= 1130 
   (148 observations deleted due to missingness)

                 coef exp(coef) se(coef)      z Pr(>|z|)  
TNM_CLIN_Tc1  -1.7443    0.1748   0.7132 -2.446   0.0145 *
TNM_CLIN_Tc1A -1.8104    0.1636   0.7530 -2.404   0.0162 *
TNM_CLIN_Tc1B -1.2191    0.2955   0.7640 -1.596   0.1105  
TNM_CLIN_Tc2  -0.7425    0.4759   0.7120 -1.043   0.2970  
TNM_CLIN_Tc2A -1.3471    0.2600   0.8019 -1.680   0.0930 .
TNM_CLIN_Tc2B -0.6317    0.5317   0.7436 -0.850   0.3956  
TNM_CLIN_Tc3   0.1083    1.1143   0.7121  0.152   0.8792  
TNM_CLIN_Tc4   0.3553    1.4266   0.7124  0.499   0.6180  
TNM_CLIN_TcX  -0.7941    0.4520   0.7094 -1.119   0.2630  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

              exp(coef) exp(-coef) lower .95 upper .95
TNM_CLIN_Tc1     0.1748     5.7219   0.04319    0.7072
TNM_CLIN_Tc1A    0.1636     6.1128   0.03739    0.7157
TNM_CLIN_Tc1B    0.2955     3.3841   0.06611    1.3208
TNM_CLIN_Tc2     0.4759     2.1012   0.11788    1.9214
TNM_CLIN_Tc2A    0.2600     3.8461   0.05400    1.2519
TNM_CLIN_Tc2B    0.5317     1.8808   0.12381    2.2834
TNM_CLIN_Tc3     1.1143     0.8974   0.27599    4.4993
TNM_CLIN_Tc4     1.4266     0.7010   0.35312    5.7634
TNM_CLIN_TcX     0.4520     2.2124   0.11253    1.8154

Concordance= 0.665  (se = 0.009 )
Rsquare= 0.073   (max possible= 0.965 )
Likelihood ratio test= 405.8  on 9 df,   p=0
Wald test            = 410.2  on 9 df,   p=0
Score (logrank) test = 492  on 9 df,   p=0
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_CLIN_T

Clinical N Stage

uni_var(test_var = "TNM_CLIN_N", data_imp = data)
_________________________________________________
   
## TNM_CLIN_N
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_N, data = data)

   132 observations deleted due to missingness 
                  n events median 0.95LCL 0.95UCL
TNM_CLIN_N=N_A    9      2   40.0   30.36      NA
TNM_CLIN_N=c0  3294    450     NA      NA      NA
TNM_CLIN_N=c1   151     71   53.8   42.97    83.3
TNM_CLIN_N=c1A    8      3     NA   28.32      NA
TNM_CLIN_N=c1B    5      2   30.5   30.49      NA
TNM_CLIN_N=c2    23     15   36.1   24.97      NA
TNM_CLIN_N=c2A    1      0     NA      NA      NA
TNM_CLIN_N=c2B    4      3   10.0    5.95      NA
TNM_CLIN_N=c3    45     20   40.0   36.50      NA
TNM_CLIN_N=cX  1793    565  158.3  147.48      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_N, data = data)

132 observations deleted due to missingness 
                TNM_CLIN_N=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      7       0      1.0   0.000        1.000            1
   24      5       0      1.0   0.000        1.000            1
   36      1       1      0.5   0.354        0.125            1
   48      1       0      0.5   0.354        0.125            1

                TNM_CLIN_N=c0 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2690      84    0.972 0.00302        0.966        0.978
   24   2217     102    0.933 0.00480        0.923        0.942
   36   1694      91    0.890 0.00631        0.878        0.903
   48   1241      67    0.851 0.00768        0.836        0.866
   60    849      43    0.816 0.00904        0.798        0.834
  120     53      63    0.661 0.02553        0.612        0.713

                TNM_CLIN_N=c1 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    109      25    0.826  0.0318        0.766        0.891
   24     84      14    0.717  0.0387        0.645        0.797
   36     63      11    0.620  0.0431        0.541        0.711
   48     40       8    0.528  0.0475        0.443        0.630
   60     24       7    0.421  0.0526        0.329        0.538
  120      2       6    0.256  0.0635        0.158        0.417

                TNM_CLIN_N=c1A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      6       1    0.857   0.132        0.633            1
   24      6       0    0.857   0.132        0.633            1
   36      3       2    0.571   0.187        0.301            1
   48      1       0    0.571   0.187        0.301            1

                TNM_CLIN_N=c1B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       1      0.8   0.179        0.516            1
   24      2       0      0.8   0.179        0.516            1

                TNM_CLIN_N=c2 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     17       4    0.818  0.0822        0.672        0.996
   24     14       2    0.722  0.0967        0.555        0.939
   36      9       3    0.548  0.1146        0.364        0.826
   48      5       3    0.366  0.1152        0.197        0.678
   60      2       1    0.274  0.1172        0.119        0.634

                TNM_CLIN_N=c2A 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                TNM_CLIN_N=c2B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       2     0.50   0.250       0.1877            1
   24      1       1     0.25   0.217       0.0458            1

                TNM_CLIN_N=c3 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     32       8    0.812  0.0600        0.703        0.939
   24     20       5    0.672  0.0761        0.538        0.839
   36     17       1    0.638  0.0793        0.500        0.814
   48     10       6    0.401  0.0917        0.256        0.628
   60      8       0    0.401  0.0917        0.256        0.628
  120      1       0    0.401  0.0917        0.256        0.628

                TNM_CLIN_N=cX 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1518     117    0.932 0.00611        0.920        0.944
   24   1341      97    0.870 0.00831        0.854        0.887
   36   1214      81    0.817 0.00969        0.798        0.836
   48   1106      61    0.775 0.01058        0.754        0.796
   60    999      48    0.740 0.01121        0.719        0.763
  120    347     132    0.612 0.01413        0.585        0.640




   
## Univariable Cox Proportional Hazard Model for:  TNM_CLIN_N
Loglik converged before variable  6 ; beta may be infinite. 
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_N, data = data)

  n= 5333, number of events= 1131 
   (132 observations deleted due to missingness)

                    coef  exp(coef)   se(coef)      z Pr(>|z|)  
TNM_CLIN_Nc0  -1.092e+00  3.355e-01  7.090e-01 -1.540   0.1235  
TNM_CLIN_Nc1   3.178e-01  1.374e+00  7.172e-01  0.443   0.6577  
TNM_CLIN_Nc1A  1.351e-01  1.145e+00  9.130e-01  0.148   0.8824  
TNM_CLIN_Nc1B  9.244e-01  2.520e+00  1.000e+00  0.924   0.3553  
TNM_CLIN_Nc2   7.323e-01  2.080e+00  7.529e-01  0.973   0.3307  
TNM_CLIN_Nc2A -1.015e+01  3.909e-05  5.965e+02 -0.017   0.9864  
TNM_CLIN_Nc2B  1.804e+00  6.074e+00  9.132e-01  1.976   0.0482 *
TNM_CLIN_Nc3   3.473e-01  1.415e+00  7.419e-01  0.468   0.6397  
TNM_CLIN_NcX  -7.165e-01  4.885e-01  7.092e-01 -1.010   0.3123  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

              exp(coef) exp(-coef) lower .95 upper .95
TNM_CLIN_Nc0  3.355e-01  2.980e+00   0.08361     1.347
TNM_CLIN_Nc1  1.374e+00  7.278e-01   0.33690     5.604
TNM_CLIN_Nc1A 1.145e+00  8.737e-01   0.19122     6.851
TNM_CLIN_Nc1B 2.520e+00  3.968e-01   0.35498    17.895
TNM_CLIN_Nc2  2.080e+00  4.808e-01   0.47550     9.097
TNM_CLIN_Nc2A 3.909e-05  2.558e+04   0.00000       Inf
TNM_CLIN_Nc2B 6.074e+00  1.646e-01   1.01429    36.376
TNM_CLIN_Nc3  1.415e+00  7.066e-01   0.33065     6.058
TNM_CLIN_NcX  4.885e-01  2.047e+00   0.12167     1.961

Concordance= 0.593  (se = 0.008 )
Rsquare= 0.031   (max possible= 0.965 )
Likelihood ratio test= 165.6  on 9 df,   p=0
Wald test            = 219.3  on 9 df,   p=0
Score (logrank) test = 265.8  on 9 df,   p=0
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).Removed 10 rows containing missing values (geom_text).Removed 10 rows containing missing values (geom_text).Removed 10 rows containing missing values (geom_text).Removed 10 rows containing missing values (geom_text).Removed 10 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_CLIN_N

Clinical M Stage

uni_var(test_var = "TNM_CLIN_M", data_imp = data)
_________________________________________________
   
## TNM_CLIN_M
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_M, data = data)

   309 observations deleted due to missingness 
                  n events median 0.95LCL 0.95UCL
TNM_CLIN_M=N_A    9      2   40.0   30.36      NA
TNM_CLIN_M=c0  5102   1067  158.3  155.07      NA
TNM_CLIN_M=c1    45     31   19.1    8.34    37.9

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_M, data = data)

309 observations deleted due to missingness 
                TNM_CLIN_M=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      7       0      1.0   0.000        1.000            1
   24      5       0      1.0   0.000        1.000            1
   36      1       1      0.5   0.354        0.125            1
   48      1       0      0.5   0.354        0.125            1

                TNM_CLIN_M=c0 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   4228     217    0.954 0.00303        0.948        0.960
   24   3563     209    0.905 0.00442        0.896        0.913
   36   2910     179    0.856 0.00548        0.845        0.867
   48   2347     137    0.812 0.00634        0.800        0.825
   60   1851      95    0.777 0.00705        0.763        0.790
  120    403     201    0.635 0.01150        0.613        0.658

                TNM_CLIN_M=c1 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     24      17    0.603  0.0750       0.4724        0.769
   24     16       5    0.467  0.0790       0.3356        0.651
   36      9       5    0.313  0.0778       0.1925        0.510
   48      5       1    0.274  0.0773       0.1577        0.476
   60      3       2    0.164  0.0759       0.0666        0.406




   
## Univariable Cox Proportional Hazard Model for:  TNM_CLIN_M

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_M, data = data)

  n= 5156, number of events= 1100 
   (309 observations deleted due to missingness)

                coef exp(coef) se(coef)      z Pr(>|z|)
TNM_CLIN_Mc0 -0.8753    0.4167   0.7083 -1.236    0.217
TNM_CLIN_Mc1  1.1820    3.2608   0.7297  1.620    0.105

             exp(coef) exp(-coef) lower .95 upper .95
TNM_CLIN_Mc0    0.4167     2.3996    0.1040      1.67
TNM_CLIN_Mc1    3.2608     0.3067    0.7803     13.63

Concordance= 0.517  (se = 0.001 )
Rsquare= 0.014   (max possible= 0.965 )
Likelihood ratio test= 73.68  on 2 df,   p=1.11e-16
Wald test            = 127.7  on 2 df,   p=0
Score (logrank) test = 179  on 2 df,   p=0
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_CLIN_M

Clinical Stage Group

uni_var(test_var = "TNM_CLIN_STAGE_GROUP", data_imp = data)
_________________________________________________
   
## TNM_CLIN_STAGE_GROUP
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_STAGE_GROUP, data = data)

   3 observations deleted due to missingness 
                            n events median 0.95LCL 0.95UCL
TNM_CLIN_STAGE_GROUP=1    304     53  158.3   158.3      NA
TNM_CLIN_STAGE_GROUP=1A  2216    195     NA      NA      NA
TNM_CLIN_STAGE_GROUP=1B  1151    203  145.1   138.3      NA
TNM_CLIN_STAGE_GROUP=2     32     12  115.2    92.8      NA
TNM_CLIN_STAGE_GROUP=2A    97     32     NA    55.5      NA
TNM_CLIN_STAGE_GROUP=2B   413    168   65.7    55.9    96.7
TNM_CLIN_STAGE_GROUP=3     55     27   65.5    48.0      NA
TNM_CLIN_STAGE_GROUP=3A   178     80   63.9    42.7    92.3
TNM_CLIN_STAGE_GROUP=3B    71     38   38.9    29.7      NA
TNM_CLIN_STAGE_GROUP=4     57     40   37.0    18.3    56.5
TNM_CLIN_STAGE_GROUP=4A    62     40   40.1    24.6    83.3
TNM_CLIN_STAGE_GROUP=4A1   29     12   45.4    32.4      NA
TNM_CLIN_STAGE_GROUP=4A2   19      7   40.4    27.3      NA
TNM_CLIN_STAGE_GROUP=4B    50     37   14.4     6.9    25.0
TNM_CLIN_STAGE_GROUP=N_A    2      0     NA      NA      NA
TNM_CLIN_STAGE_GROUP=99   726    203  155.1   144.3      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_STAGE_GROUP, data = data)

3 observations deleted due to missingness 
                TNM_CLIN_STAGE_GROUP=1 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    277       4    0.986 0.00689        0.973        1.000
   24    250       7    0.960 0.01172        0.938        0.984
   36    223       7    0.932 0.01545        0.902        0.963
   48    202       6    0.906 0.01831        0.871        0.943
   60    164      14    0.841 0.02393        0.795        0.889
  120     52      13    0.734 0.03566        0.667        0.807

                TNM_CLIN_STAGE_GROUP=1A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1850      20    0.990 0.00220        0.986        0.994
   24   1577      37    0.969 0.00404        0.961        0.977
   36   1289      36    0.945 0.00559        0.934        0.956
   48   1024      27    0.923 0.00689        0.910        0.937
   60    789      15    0.908 0.00778        0.893        0.924
  120    148      53    0.794 0.01801        0.759        0.830

                TNM_CLIN_STAGE_GROUP=1B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    946      28    0.973 0.00498        0.964        0.983
   24    807      35    0.935 0.00798        0.919        0.951
   36    644      35    0.891 0.01053        0.870        0.912
   48    494      34    0.839 0.01313        0.814        0.865
   60    389      22    0.798 0.01515        0.769        0.828
  120     66      42    0.637 0.02763        0.585        0.694

                TNM_CLIN_STAGE_GROUP=2 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     28       2    0.935  0.0443        0.852        1.000
   24     21       2    0.867  0.0619        0.754        0.998
   36     18       3    0.743  0.0849        0.594        0.930
   48     17       0    0.743  0.0849        0.594        0.930
   60     17       0    0.743  0.0849        0.594        0.930
  120      2       4    0.405  0.1475        0.198        0.827

                TNM_CLIN_STAGE_GROUP=2A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     78      10    0.892  0.0323        0.831        0.958
   24     69       3    0.857  0.0369        0.788        0.932
   36     50       8    0.747  0.0485        0.658        0.849
   48     33       6    0.641  0.0580        0.537        0.766
   60     24       2    0.599  0.0615        0.489        0.732
  120      4       3    0.517  0.0690        0.398        0.672

                TNM_CLIN_STAGE_GROUP=2B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    338      42    0.893  0.0156        0.863        0.924
   24    250      49    0.756  0.0224        0.713        0.801
   36    180      30    0.658  0.0257        0.609        0.710
   48    129      20    0.578  0.0281        0.526        0.636
   60     89       9    0.531  0.0300        0.475        0.593
  120      6      18    0.302  0.0569        0.208        0.436

                TNM_CLIN_STAGE_GROUP=3 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     46       4    0.924  0.0363        0.856        0.998
   24     40       4    0.841  0.0517        0.746        0.949
   36     34       4    0.755  0.0617        0.644        0.887
   48     26       5    0.639  0.0708        0.515        0.794
   60     18       3    0.565  0.0745        0.436        0.731
  120      3       6    0.245  0.1034        0.107        0.560

                TNM_CLIN_STAGE_GROUP=3A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    133      21    0.871  0.0264        0.821        0.924
   24    107      17    0.756  0.0346        0.691        0.827
   36     76      21    0.602  0.0408        0.527        0.687
   48     65       4    0.570  0.0417        0.493        0.657
   60     45       5    0.522  0.0434        0.443        0.614
  120      6      11    0.350  0.0542        0.258        0.474

                TNM_CLIN_STAGE_GROUP=3B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     51      15    0.783  0.0496        0.692        0.887
   24     40      10    0.628  0.0594        0.521        0.755
   36     30       5    0.546  0.0619        0.437        0.682
   48     23       4    0.473  0.0634        0.364        0.615
   60     13       4    0.376  0.0669        0.265        0.533
  120      3       0    0.376  0.0669        0.265        0.533

                TNM_CLIN_STAGE_GROUP=4 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     38      16    0.709  0.0614        0.598        0.840
   24     31       5    0.614  0.0663        0.497        0.759
   36     25       4    0.532  0.0690        0.412        0.686
   48     18       6    0.404  0.0694        0.289        0.566
   60     15       3    0.337  0.0678        0.227        0.500
  120      4       5    0.204  0.0621        0.112        0.370

                TNM_CLIN_STAGE_GROUP=4A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     47      11    0.820  0.0491        0.729        0.922
   24     33      11    0.623  0.0640        0.509        0.762
   36     26       5    0.524  0.0674        0.407        0.674
   48     22       4    0.443  0.0680        0.328        0.599
   60     21       1    0.423  0.0678        0.309        0.579
  120      5       7    0.241  0.0665        0.140        0.414

                TNM_CLIN_STAGE_GROUP=4A1 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     23       2    0.930  0.0479        0.840        1.000
   24     18       2    0.841  0.0737        0.709        0.999
   36     11       3    0.672  0.1061        0.493        0.916
   48      4       3    0.398  0.1392        0.201        0.790
   60      2       1    0.299  0.1354        0.123        0.726

                TNM_CLIN_STAGE_GROUP=4A2 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     15       2    0.895  0.0704        0.767        1.000
   24      9       2    0.748  0.1129        0.556        1.000
   36      6       1    0.665  0.1273        0.457        0.967
   48      3       2    0.399  0.1644        0.178        0.895
   60      2       0    0.399  0.1644        0.178        0.895

                TNM_CLIN_STAGE_GROUP=4B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     22      24    0.506  0.0719        0.383        0.669
   24     13       7    0.333  0.0713        0.219        0.507
   36      8       4    0.228  0.0655        0.130        0.400
   48      3       1    0.195  0.0637        0.103        0.370
   60      3       0    0.195  0.0637        0.103        0.370

                TNM_CLIN_STAGE_GROUP=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       0        1       0            1            1
   24      1       0        1       0            1            1

                TNM_CLIN_STAGE_GROUP=99 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    593      45    0.934 0.00957        0.915        0.953
   24    501      37    0.872 0.01326        0.846        0.898
   36    433      27    0.823 0.01554        0.793        0.854
   48    375      25    0.773 0.01750        0.739        0.808
   60    311      22    0.724 0.01925        0.688        0.763
  120    104      39    0.594 0.02556        0.546        0.646




   
## Univariable Cox Proportional Hazard Model for:  TNM_CLIN_STAGE_GROUP
Loglik converged before variable  14 ; beta may be infinite. 
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_CLIN_STAGE_GROUP, data = data)

  n= 5462, number of events= 1147 
   (3 observations deleted due to missingness)

                              coef  exp(coef)   se(coef)      z Pr(>|z|)    
TNM_CLIN_STAGE_GROUP1A  -3.605e-01  6.974e-01  1.552e-01 -2.323  0.02018 *  
TNM_CLIN_STAGE_GROUP1B   3.753e-01  1.455e+00  1.546e-01  2.428  0.01519 *  
TNM_CLIN_STAGE_GROUP2    9.677e-01  2.632e+00  3.197e-01  3.027  0.00247 ** 
TNM_CLIN_STAGE_GROUP2A   1.087e+00  2.964e+00  2.242e-01  4.847 1.26e-06 ***
TNM_CLIN_STAGE_GROUP2B   1.430e+00  4.178e+00  1.584e-01  9.029  < 2e-16 ***
TNM_CLIN_STAGE_GROUP3    1.394e+00  4.031e+00  2.367e-01  5.889 3.89e-09 ***
TNM_CLIN_STAGE_GROUP3A   1.505e+00  4.505e+00  1.776e-01  8.473  < 2e-16 ***
TNM_CLIN_STAGE_GROUP3B   1.716e+00  5.563e+00  2.130e-01  8.058 7.77e-16 ***
TNM_CLIN_STAGE_GROUP4    1.970e+00  7.173e+00  2.097e-01  9.394  < 2e-16 ***
TNM_CLIN_STAGE_GROUP4A   1.773e+00  5.886e+00  2.097e-01  8.455  < 2e-16 ***
TNM_CLIN_STAGE_GROUP4A1  1.676e+00  5.343e+00  3.207e-01  5.225 1.74e-07 ***
TNM_CLIN_STAGE_GROUP4A2  1.680e+00  5.366e+00  4.030e-01  4.169 3.06e-05 ***
TNM_CLIN_STAGE_GROUP4B   2.765e+00  1.589e+01  2.155e-01 12.833  < 2e-16 ***
TNM_CLIN_STAGE_GROUPN_A -1.038e+01  3.105e-05  5.711e+02 -0.018  0.98550    
TNM_CLIN_STAGE_GROUP99   6.581e-01  1.931e+00  1.543e-01  4.266 1.99e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                        exp(coef) exp(-coef) lower .95 upper .95
TNM_CLIN_STAGE_GROUP1A  6.974e-01  1.434e+00    0.5145    0.9452
TNM_CLIN_STAGE_GROUP1B  1.455e+00  6.871e-01    1.0750    1.9706
TNM_CLIN_STAGE_GROUP2   2.632e+00  3.799e-01    1.4064    4.9255
TNM_CLIN_STAGE_GROUP2A  2.964e+00  3.373e-01    1.9102    4.6001
TNM_CLIN_STAGE_GROUP2B  4.178e+00  2.393e-01    3.0634    5.6993
TNM_CLIN_STAGE_GROUP3   4.031e+00  2.481e-01    2.5346    6.4110
TNM_CLIN_STAGE_GROUP3A  4.505e+00  2.220e-01    3.1803    6.3810
TNM_CLIN_STAGE_GROUP3B  5.563e+00  1.798e-01    3.6645    8.4441
TNM_CLIN_STAGE_GROUP4   7.173e+00  1.394e-01    4.7552   10.8197
TNM_CLIN_STAGE_GROUP4A  5.886e+00  1.699e-01    3.9026    8.8771
TNM_CLIN_STAGE_GROUP4A1 5.343e+00  1.872e-01    2.8494   10.0181
TNM_CLIN_STAGE_GROUP4A2 5.366e+00  1.864e-01    2.4356   11.8227
TNM_CLIN_STAGE_GROUP4B  1.589e+01  6.295e-02   10.4136   24.2359
TNM_CLIN_STAGE_GROUPN_A 3.105e-05  3.221e+04    0.0000       Inf
TNM_CLIN_STAGE_GROUP99  1.931e+00  5.178e-01    1.4273    2.6131

Concordance= 0.723  (se = 0.009 )
Rsquare= 0.116   (max possible= 0.964 )
Likelihood ratio test= 671.5  on 15 df,   p=0
Wald test            = 728.7  on 15 df,   p=0
Score (logrank) test = 976  on 15 df,   p=0
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).Removed 16 rows containing missing values (geom_text).Removed 16 rows containing missing values (geom_text).Removed 16 rows containing missing values (geom_text).Removed 16 rows containing missing values (geom_text).Removed 16 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_CLIN_STAGE_GROUP
This manual palette can handle a maximum of 10 values. You have supplied 16.

Pathologic T Stage

uni_var(test_var = "TNM_PATH_T", data_imp = data)
_________________________________________________
   
## TNM_PATH_T
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_T, data = data)

   1770 observations deleted due to missingness 
                  n events median 0.95LCL 0.95UCL
TNM_PATH_T=N_A   12      2   49.7    30.4      NA
TNM_PATH_T=p1   780     62     NA      NA      NA
TNM_PATH_T=p1A   89      6     NA      NA      NA
TNM_PATH_T=p1B   41      4     NA      NA      NA
TNM_PATH_T=p2   339     64     NA    90.8      NA
TNM_PATH_T=p2A   19      2     NA      NA      NA
TNM_PATH_T=p2B   31      8   41.1    34.4      NA
TNM_PATH_T=p3   155     53   66.0    53.9      NA
TNM_PATH_T=p4   132     62   46.2    34.5      NA
TNM_PATH_T=pX  2097    631  158.3   155.1      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_T, data = data)

1770 observations deleted due to missingness 
                TNM_PATH_T=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      9       0    1.000   0.000       1.0000            1
   24      7       0    1.000   0.000       1.0000            1
   36      2       1    0.750   0.217       0.4259            1
   48      2       0    0.750   0.217       0.4259            1
   60      1       1    0.375   0.286       0.0839            1

                TNM_PATH_T=p1 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    625      13    0.981 0.00514        0.971        0.991
   24    536      13    0.960 0.00773        0.945        0.975
   36    419       9    0.942 0.00957        0.924        0.961
   48    291      13    0.909 0.01302        0.884        0.935
   60    186       7    0.883 0.01600        0.852        0.915
  120      6       7    0.838 0.02359        0.793        0.886

                TNM_PATH_T=p1A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     77       1    0.988  0.0121        0.964        1.000
   24     67       1    0.973  0.0186        0.938        1.000
   36     54       3    0.924  0.0330        0.861        0.991
   48     42       1    0.902  0.0386        0.830        0.981
   60     23       0    0.902  0.0386        0.830        0.981

                TNM_PATH_T=p1B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     32       0    1.000  0.0000        1.000            1
   24     26       2    0.935  0.0441        0.853            1
   36     23       0    0.935  0.0441        0.853            1
   48     15       0    0.935  0.0441        0.853            1
   60      8       2    0.772  0.1135        0.579            1

                TNM_PATH_T=p2 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    276      13    0.958  0.0113        0.937        0.981
   24    240      11    0.918  0.0161        0.887        0.950
   36    194      12    0.868  0.0207        0.829        0.910
   48    126      11    0.809  0.0259        0.760        0.862
   60     81       8    0.746  0.0321        0.686        0.812

                TNM_PATH_T=p2A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     13       0    1.000   0.000        1.000            1
   24     11       0    1.000   0.000        1.000            1
   36      6       2    0.778   0.139        0.549            1
   48      4       0    0.778   0.139        0.549            1
   60      3       0    0.778   0.139        0.549            1

                TNM_PATH_T=p2B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     22       1    0.960  0.0392        0.886        1.000
   24     12       2    0.851  0.0810        0.706        1.000
   36      8       3    0.624  0.1274        0.418        0.931
   48      6       2    0.468  0.1351        0.266        0.824
   60      5       0    0.468  0.1351        0.266        0.824

                TNM_PATH_T=p3 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    126      13    0.910  0.0238        0.864        0.958
   24     92      15    0.796  0.0345        0.731        0.867
   36     71       8    0.722  0.0401        0.648        0.805
   48     48       8    0.629  0.0465        0.544        0.727
   60     28       5    0.548  0.0530        0.453        0.662
  120      2       4    0.400  0.0821        0.268        0.598

                TNM_PATH_T=p4 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     99      21    0.833  0.0333        0.771        0.901
   24     77      15    0.703  0.0419        0.625        0.790
   36     53      12    0.584  0.0468        0.499        0.683
   48     33       8    0.486  0.0502        0.397        0.595
   60     18       3    0.431  0.0538        0.338        0.551

                TNM_PATH_T=pX 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1799     122    0.939 0.00535        0.929        0.950
   24   1620     103    0.884 0.00730        0.870        0.898
   36   1471      90    0.834 0.00858        0.817        0.851
   48   1357      69    0.794 0.00941        0.776        0.813
   60   1242      56    0.761 0.01002        0.741        0.781
  120    395     162    0.627 0.01306        0.601        0.653




   
## Univariable Cox Proportional Hazard Model for:  TNM_PATH_T

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_T, data = data)

  n= 3695, number of events= 894 
   (1770 observations deleted due to missingness)

                 coef exp(coef) se(coef)      z Pr(>|z|)  
TNM_PATH_Tp1  -1.1973    0.3020   0.7186 -1.666   0.0957 .
TNM_PATH_Tp1A -1.4231    0.2410   0.8167 -1.743   0.0814 .
TNM_PATH_Tp1B -0.9633    0.3816   0.8662 -1.112   0.2661  
TNM_PATH_Tp2  -0.3500    0.7047   0.7182 -0.487   0.6260  
TNM_PATH_Tp2A -0.6182    0.5389   1.0000 -0.618   0.5364  
TNM_PATH_Tp2B  0.3525    1.4226   0.7906  0.446   0.6558  
TNM_PATH_Tp3   0.3377    1.4017   0.7205  0.469   0.6393  
TNM_PATH_Tp4   0.7825    2.1869   0.7185  1.089   0.2761  
TNM_PATH_TpX  -0.3753    0.6871   0.7090 -0.529   0.5965  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

              exp(coef) exp(-coef) lower .95 upper .95
TNM_PATH_Tp1     0.3020     3.3113   0.07385     1.235
TNM_PATH_Tp1A    0.2410     4.1499   0.04862     1.194
TNM_PATH_Tp1B    0.3816     2.6204   0.06988     2.084
TNM_PATH_Tp2     0.7047     1.4191   0.17243     2.880
TNM_PATH_Tp2A    0.5389     1.8556   0.07590     3.826
TNM_PATH_Tp2B    1.4226     0.7030   0.30205     6.700
TNM_PATH_Tp3     1.4017     0.7134   0.34151     5.753
TNM_PATH_Tp4     2.1869     0.4573   0.53485     8.942
TNM_PATH_TpX     0.6871     1.4555   0.17121     2.757

Concordance= 0.594  (se = 0.009 )
Rsquare= 0.04   (max possible= 0.975 )
Likelihood ratio test= 150.9  on 9 df,   p=0
Wald test            = 159.6  on 9 df,   p=0
Score (logrank) test = 182  on 9 df,   p=0
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_PATH_T

Pathologic N Stage

uni_var(test_var = "TNM_PATH_N", data_imp = data)
_________________________________________________
   
## TNM_PATH_N
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_N, data = data)

   1698 observations deleted due to missingness 
                  n events median 0.95LCL 0.95UCL
TNM_PATH_N=N_A   10      2   49.7    30.4      NA
TNM_PATH_N=p0   738     97     NA      NA      NA
TNM_PATH_N=p1    36     19   48.0    27.5      NA
TNM_PATH_N=p1A    3      1     NA     9.2      NA
TNM_PATH_N=p1B    2      0     NA      NA      NA
TNM_PATH_N=p2    12      6   55.0    34.8      NA
TNM_PATH_N=p2B    1      0     NA      NA      NA
TNM_PATH_N=p3    15     10   23.8    10.3      NA
TNM_PATH_N=pX  2950    771  158.3   155.1      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_N, data = data)

1698 observations deleted due to missingness 
                TNM_PATH_N=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      8       0    1.000   0.000       1.0000            1
   24      6       0    1.000   0.000       1.0000            1
   36      2       1    0.667   0.272       0.2995            1
   48      2       0    0.667   0.272       0.2995            1
   60      1       1    0.333   0.272       0.0673            1

                TNM_PATH_N=p0 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    590      17    0.974 0.00614        0.962        0.987
   24    509      19    0.942 0.00950        0.923        0.960
   36    392      20    0.900 0.01291        0.875        0.925
   48    288      13    0.865 0.01563        0.835        0.896
   60    203      11    0.827 0.01865        0.791        0.864
  120      8      17    0.709 0.03439        0.644        0.779

                TNM_PATH_N=p1 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     22       9    0.731  0.0770        0.595        0.899
   24     20       1    0.698  0.0804        0.557        0.875
   36     16       3    0.593  0.0882        0.443        0.794
   48     10       1    0.554  0.0907        0.402        0.763
   60      5       4    0.323  0.1037        0.172        0.606

                TNM_PATH_N=p1A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       1    0.667   0.272          0.3            1
   24      2       0    0.667   0.272          0.3            1
   36      1       0    0.667   0.272          0.3            1
   48      1       0    0.667   0.272          0.3            1

                TNM_PATH_N=p1B 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                TNM_PATH_N=p2 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      9       2    0.818   0.116        0.619            1
   24      9       0    0.818   0.116        0.619            1
   36      6       1    0.716   0.140        0.488            1
   48      4       1    0.573   0.170        0.320            1
   60      1       1    0.382   0.193        0.142            1

                TNM_PATH_N=p2B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      1       0        1       0            1            1
   24      1       0        1       0            1            1

                TNM_PATH_N=p3 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     10       5    0.667   0.122       0.4661        0.953
   24      6       3    0.457   0.131       0.2607        0.802
   36      4       1    0.381   0.129       0.1957        0.742
   48      2       1    0.254   0.135       0.0897        0.719
   60      2       0    0.254   0.135       0.0897        0.719

                TNM_PATH_N=pX 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2496     151    0.946 0.00429        0.937        0.954
   24   2183     142    0.890 0.00609        0.878        0.902
   36   1926     115    0.842 0.00724        0.827        0.856
   48   1649      99    0.796 0.00816        0.780        0.812
   60   1406      66    0.763 0.00880        0.746        0.780
  120    395     169    0.628 0.01240        0.604        0.653




   
## Univariable Cox Proportional Hazard Model for:  TNM_PATH_N
Loglik converged before variable  4,6 ; beta may be infinite. 
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_N, data = data)

  n= 3767, number of events= 906 
   (1698 observations deleted due to missingness)

                    coef  exp(coef)   se(coef)      z Pr(>|z|)
TNM_PATH_Np0  -8.539e-01  4.258e-01  7.145e-01 -1.195    0.232
TNM_PATH_Np1   7.946e-01  2.214e+00  7.435e-01  1.069    0.285
TNM_PATH_Np1A  3.207e-01  1.378e+00  1.225e+00  0.262    0.793
TNM_PATH_Np1B -1.207e+01  5.713e-06  1.211e+03 -0.010    0.992
TNM_PATH_Np2   5.862e-01  1.797e+00  8.166e-01  0.718    0.473
TNM_PATH_Np2B -1.207e+01  5.722e-06  9.384e+02 -0.013    0.990
TNM_PATH_Np3   1.195e+00  3.305e+00  7.747e-01  1.543    0.123
TNM_PATH_NpX  -5.184e-01  5.955e-01  7.085e-01 -0.732    0.464

              exp(coef) exp(-coef) lower .95 upper .95
TNM_PATH_Np0  4.258e-01  2.349e+00    0.1049     1.727
TNM_PATH_Np1  2.214e+00  4.518e-01    0.5155     9.505
TNM_PATH_Np1A 1.378e+00  7.256e-01    0.1249    15.200
TNM_PATH_Np1B 5.713e-06  1.750e+05    0.0000       Inf
TNM_PATH_Np2  1.797e+00  5.564e-01    0.3626     8.907
TNM_PATH_Np2B 5.722e-06  1.748e+05    0.0000       Inf
TNM_PATH_Np3  3.305e+00  3.026e-01    0.7240    15.084
TNM_PATH_NpX  5.955e-01  1.679e+00    0.1485     2.388

Concordance= 0.543  (se = 0.007 )
Rsquare= 0.015   (max possible= 0.974 )
Likelihood ratio test= 58.68  on 8 df,   p=8.449e-10
Wald test            = 81.01  on 8 df,   p=3.053e-14
Score (logrank) test = 96.67  on 8 df,   p=0
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).Removed 9 rows containing missing values (geom_text).Removed 9 rows containing missing values (geom_text).Removed 9 rows containing missing values (geom_text).Removed 9 rows containing missing values (geom_text).Removed 9 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_PATH_N

Pathologic M Stage

uni_var(test_var = "TNM_PATH_M", data_imp = data)
_________________________________________________
   
## TNM_PATH_M
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_M, data = data)

   3226 observations deleted due to missingness 
                  n events median 0.95LCL 0.95UCL
TNM_PATH_M=N_A    8      2   49.7    30.4      NA
TNM_PATH_M=p1    18     11   32.2    23.0      NA
TNM_PATH_M=pX  2213    661  158.3   155.1      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_M, data = data)

3226 observations deleted due to missingness 
                TNM_PATH_M=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      7       0    1.000   0.000       1.0000            1
   24      5       0    1.000   0.000       1.0000            1
   36      2       1    0.667   0.272       0.2995            1
   48      2       0    0.667   0.272       0.2995            1
   60      1       1    0.333   0.272       0.0673            1

                TNM_PATH_M=p1 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     10       5    0.699   0.113       0.5092        0.960
   24      8       1    0.622   0.124       0.4198        0.920
   36      4       4    0.311   0.126       0.1402        0.689
   48      2       0    0.311   0.126       0.1402        0.689
   60      1       1    0.155   0.127       0.0314        0.768

                TNM_PATH_M=pX 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1902     126    0.940 0.00515        0.930        0.951
   24   1718     106    0.887 0.00702        0.873        0.900
   36   1564      93    0.838 0.00826        0.822        0.854
   48   1445      70    0.800 0.00906        0.782        0.818
   60   1319      64    0.764 0.00970        0.745        0.783
  120    403     173    0.627 0.01278        0.603        0.653




   
## Univariable Cox Proportional Hazard Model for:  TNM_PATH_M

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_M, data = data)

  n= 2239, number of events= 674 
   (3226 observations deleted due to missingness)

                coef exp(coef) se(coef)      z Pr(>|z|)
TNM_PATH_Mp1  1.0165    2.7636   0.7688  1.322    0.186
TNM_PATH_MpX -0.6131    0.5417   0.7089 -0.865    0.387

             exp(coef) exp(-coef) lower .95 upper .95
TNM_PATH_Mp1    2.7636     0.3618    0.6125    12.470
TNM_PATH_MpX    0.5417     1.8461    0.1350     2.173

Concordance= 0.509  (se = 0.002 )
Rsquare= 0.008   (max possible= 0.987 )
Likelihood ratio test= 18.57  on 2 df,   p=9.288e-05
Wald test            = 29.15  on 2 df,   p=4.671e-07
Score (logrank) test = 36.04  on 2 df,   p=1.492e-08
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_PATH_M

Pathologic Stage Group

uni_var(test_var = "TNM_PATH_STAGE_GROUP", data_imp = data)
_________________________________________________
   
## TNM_PATH_STAGE_GROUP
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_STAGE_GROUP, data = data)

   786 observations deleted due to missingness 
                            n events median 0.95LCL 0.95UCL
TNM_PATH_STAGE_GROUP=1    141     27     NA      NA      NA
TNM_PATH_STAGE_GROUP=1A   589     58     NA      NA      NA
TNM_PATH_STAGE_GROUP=1B   255     45     NA   109.7      NA
TNM_PATH_STAGE_GROUP=2     14      6  140.7    34.4      NA
TNM_PATH_STAGE_GROUP=2A    33     11   77.3    55.0      NA
TNM_PATH_STAGE_GROUP=2B   113     39  102.1    56.5      NA
TNM_PATH_STAGE_GROUP=3     20     11   50.8    46.0      NA
TNM_PATH_STAGE_GROUP=3A    53     25   72.9    34.5      NA
TNM_PATH_STAGE_GROUP=3B    26     12   55.9    42.8      NA
TNM_PATH_STAGE_GROUP=4     27     19   45.3    32.4      84
TNM_PATH_STAGE_GROUP=4A    21     15   43.9    12.6      NA
TNM_PATH_STAGE_GROUP=4A1    1      0     NA      NA      NA
TNM_PATH_STAGE_GROUP=4B    31     18   25.1    15.4      NA
TNM_PATH_STAGE_GROUP=N_A    2      0     NA      NA      NA
TNM_PATH_STAGE_GROUP=99  3353    742  158.3   155.1      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_STAGE_GROUP, data = data)

786 observations deleted due to missingness 
                TNM_PATH_STAGE_GROUP=1 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    123       3    0.977  0.0130        0.952        1.000
   24    108       6    0.927  0.0235        0.882        0.974
   36     94       5    0.881  0.0299        0.825        0.942
   48     86       1    0.872  0.0311        0.813        0.935
   60     74       4    0.830  0.0359        0.762        0.903
  120     17       8    0.657  0.0641        0.542        0.795

                TNM_PATH_STAGE_GROUP=1A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    481       9    0.983 0.00572        0.972        0.994
   24    429       7    0.968 0.00796        0.952        0.983
   36    349      10    0.942 0.01108        0.921        0.964
   48    274       9    0.915 0.01409        0.888        0.943
   60    211       6    0.893 0.01627        0.862        0.926
  120     48      17    0.766 0.03490        0.701        0.838

                TNM_PATH_STAGE_GROUP=1B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    205       7    0.969  0.0114        0.947        0.992
   24    183       6    0.940  0.0163        0.908        0.972
   36    156       6    0.906  0.0207        0.867        0.948
   48    120       6    0.868  0.0250        0.820        0.918
   60     96       6    0.821  0.0302        0.764        0.882
  120     10      14    0.563  0.0731        0.436        0.726

                TNM_PATH_STAGE_GROUP=2 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     11       1    0.917  0.0798        0.773            1
   24      8       0    0.917  0.0798        0.773            1
   36      6       2    0.687  0.1526        0.445            1
   48      5       0    0.687  0.1526        0.445            1
   60      5       0    0.687  0.1526        0.445            1
  120      2       1    0.550  0.1733        0.297            1

                TNM_PATH_STAGE_GROUP=2A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     25       3    0.902  0.0541        0.802        1.000
   24     23       1    0.864  0.0636        0.748        0.998
   36     16       3    0.746  0.0837        0.599        0.930
   48     12       1    0.693  0.0932        0.532        0.902
   60      8       1    0.635  0.1017        0.464        0.869
  120      2       2    0.445  0.1360        0.244        0.810

                TNM_PATH_STAGE_GROUP=2B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     89      14    0.869  0.0327        0.807        0.935
   24     69       8    0.785  0.0408        0.709        0.870
   36     55       7    0.701  0.0473        0.614        0.800
   48     41       2    0.670  0.0501        0.578        0.775
   60     28       4    0.593  0.0573        0.491        0.716
  120      3       4    0.405  0.0934        0.258        0.636

                TNM_PATH_STAGE_GROUP=3 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     18       2    0.900  0.0671       0.7777        1.000
   24     18       0    0.900  0.0671       0.7777        1.000
   36     13       3    0.741  0.0999       0.5691        0.965
   48     10       1    0.679  0.1090       0.4961        0.930
   60      6       3    0.476  0.1246       0.2846        0.795
  120      2       2    0.264  0.1369       0.0957        0.730

                TNM_PATH_STAGE_GROUP=3A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     39       9    0.819  0.0547        0.718        0.934
   24     34       2    0.775  0.0601        0.665        0.902
   36     23       7    0.606  0.0735        0.478        0.769
   48     19       1    0.578  0.0755        0.447        0.746
   60     14       1    0.545  0.0778        0.412        0.721
  120      3       4    0.352  0.0944        0.208        0.595

                TNM_PATH_STAGE_GROUP=3B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     22       3    0.881  0.0643        0.764        1.000
   24     20       2    0.801  0.0796        0.659        0.974
   36     15       2    0.714  0.0917        0.556        0.919
   48     12       2    0.616  0.1023        0.444        0.853
   60      5       3    0.385  0.1233        0.205        0.721

                TNM_PATH_STAGE_GROUP=4 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     21       6    0.778  0.0800       0.6358        0.952
   24     19       1    0.739  0.0849       0.5898        0.926
   36     13       4    0.573  0.0987       0.4088        0.803
   48      9       3    0.441  0.1012       0.2810        0.691
   60      8       1    0.392  0.1011       0.2362        0.650
  120      1       4    0.168  0.0851       0.0622        0.454

                TNM_PATH_STAGE_GROUP=4A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     15       6    0.714  0.0986       0.5450        0.936
   24     12       3    0.571  0.1080       0.3945        0.828
   36     10       1    0.519  0.1100       0.3431        0.787
   48      9       1    0.468  0.1106       0.2941        0.743
   60      8       1    0.416  0.1098       0.2476        0.698
  120      1       3    0.190  0.1058       0.0638        0.566

                TNM_PATH_STAGE_GROUP=4A1 
     time n.risk n.event survival std.err lower 95% CI upper 95% CI

                TNM_PATH_STAGE_GROUP=4B 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     20       7    0.762  0.0786        0.623        0.933
   24     12       6    0.525  0.0973        0.365        0.755
   36      9       3    0.394  0.0982        0.242        0.642
   48      5       2    0.306  0.0939        0.168        0.559
   60      5       0    0.306  0.0939        0.168        0.559

                TNM_PATH_STAGE_GROUP=N_A 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       0        1       0            1            1
   24      1       0        1       0            1            1

                TNM_PATH_STAGE_GROUP=99 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2778     149    0.952 0.00380        0.945        0.960
   24   2341     151    0.898 0.00561        0.887        0.909
   36   1957     116    0.851 0.00680        0.838        0.865
   48   1618     100    0.805 0.00785        0.790        0.820
   60   1307      64    0.770 0.00863        0.753        0.787
  120    314     136    0.643 0.01301        0.618        0.669




   
## Univariable Cox Proportional Hazard Model for:  TNM_PATH_STAGE_GROUP
Loglik converged before variable  11,13 ; beta may be infinite. 
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ TNM_PATH_STAGE_GROUP, data = data)

  n= 4679, number of events= 1028 
   (786 observations deleted due to missingness)

                              coef  exp(coef)   se(coef)      z Pr(>|z|)    
TNM_PATH_STAGE_GROUP1A  -4.525e-01  6.360e-01  2.331e-01 -1.941 0.052202 .  
TNM_PATH_STAGE_GROUP1B   1.455e-01  1.157e+00  2.436e-01  0.598 0.550139    
TNM_PATH_STAGE_GROUP2    1.061e+00  2.890e+00  4.515e-01  2.351 0.018744 *  
TNM_PATH_STAGE_GROUP2A   9.575e-01  2.605e+00  3.579e-01  2.676 0.007462 ** 
TNM_PATH_STAGE_GROUP2B   9.831e-01  2.673e+00  2.506e-01  3.924 8.72e-05 ***
TNM_PATH_STAGE_GROUP3    1.208e+00  3.347e+00  3.578e-01  3.376 0.000737 ***
TNM_PATH_STAGE_GROUP3A   1.285e+00  3.615e+00  2.777e-01  4.628 3.70e-06 ***
TNM_PATH_STAGE_GROUP3B   1.230e+00  3.421e+00  3.473e-01  3.542 0.000398 ***
TNM_PATH_STAGE_GROUP4    1.689e+00  5.416e+00  2.997e-01  5.637 1.73e-08 ***
TNM_PATH_STAGE_GROUP4A   1.634e+00  5.126e+00  3.221e-01  5.073 3.91e-07 ***
TNM_PATH_STAGE_GROUP4A1 -1.123e+01  1.333e-05  1.446e+03 -0.008 0.993808    
TNM_PATH_STAGE_GROUP4B   1.882e+00  6.569e+00  3.048e-01  6.177 6.55e-10 ***
TNM_PATH_STAGE_GROUPN_A -1.123e+01  1.331e-05  7.693e+02 -0.015 0.988356    
TNM_PATH_STAGE_GROUP99   3.066e-01  1.359e+00  1.960e-01  1.565 0.117688    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                        exp(coef) exp(-coef) lower .95 upper .95
TNM_PATH_STAGE_GROUP1A  6.360e-01  1.572e+00    0.4028     1.004
TNM_PATH_STAGE_GROUP1B  1.157e+00  8.646e-01    0.7176     1.864
TNM_PATH_STAGE_GROUP2   2.890e+00  3.460e-01    1.1929     7.001
TNM_PATH_STAGE_GROUP2A  2.605e+00  3.838e-01    1.2919     5.254
TNM_PATH_STAGE_GROUP2B  2.673e+00  3.741e-01    1.6357     4.368
TNM_PATH_STAGE_GROUP3   3.347e+00  2.988e-01    1.6596     6.748
TNM_PATH_STAGE_GROUP3A  3.615e+00  2.766e-01    2.0977     6.230
TNM_PATH_STAGE_GROUP3B  3.421e+00  2.923e-01    1.7320     6.757
TNM_PATH_STAGE_GROUP4   5.416e+00  1.846e-01    3.0103     9.746
TNM_PATH_STAGE_GROUP4A  5.126e+00  1.951e-01    2.7261     9.637
TNM_PATH_STAGE_GROUP4A1 1.333e-05  7.499e+04    0.0000       Inf
TNM_PATH_STAGE_GROUP4B  6.569e+00  1.522e-01    3.6147    11.937
TNM_PATH_STAGE_GROUPN_A 1.331e-05  7.516e+04    0.0000       Inf
TNM_PATH_STAGE_GROUP99  1.359e+00  7.360e-01    0.9254     1.995

Concordance= 0.591  (se = 0.008 )
Rsquare= 0.036   (max possible= 0.967 )
Likelihood ratio test= 171  on 14 df,   p=0
Wald test            = 203.4  on 14 df,   p=0
Score (logrank) test = 236.1  on 14 df,   p=0
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).Removed 15 rows containing missing values (geom_text).Removed 15 rows containing missing values (geom_text).Removed 15 rows containing missing values (geom_text).Removed 15 rows containing missing values (geom_text).Removed 15 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  TNM_PATH_STAGE_GROUP
This manual palette can handle a maximum of 10 values. You have supplied 15.

Margins

uni_var(test_var = "MARGINS", data_imp = data)
_________________________________________________
   
## MARGINS
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ MARGINS, data = data)

                             n events median 0.95LCL 0.95UCL
MARGINS=No Residual        231     33    145   145.1      NA
MARGINS=Residual, NOS       93     19     NA   106.5      NA
MARGINS=Microscopic Resid   13      3     NA    20.5      NA
MARGINS=Macroscopic Resid   38      4     NA      NA      NA
MARGINS=Not evaluable      229     45     NA   132.3      NA
MARGINS=No surg           4490    973    158   155.1      NA
MARGINS=Unknown            371     70    148   147.6      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ MARGINS, data = data)

                MARGINS=No Residual 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    197       6    0.972  0.0113        0.950        0.994
   24    172       8    0.931  0.0179        0.896        0.966
   36    153       3    0.914  0.0200        0.876        0.954
   48    126       4    0.887  0.0235        0.843        0.935
   60     95       4    0.856  0.0275        0.804        0.911
  120     19       7    0.745  0.0468        0.658        0.842

                MARGINS=Residual, NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     79       4    0.955  0.0222        0.912        0.999
   24     65       2    0.928  0.0285        0.874        0.985
   36     52       4    0.868  0.0395        0.794        0.949
   48     45       2    0.833  0.0450        0.749        0.926
   60     36       1    0.812  0.0483        0.723        0.913
  120      6       6    0.524  0.1087        0.349        0.787

                MARGINS=Microscopic Resid 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     10       1    0.917  0.0798        0.773            1
   24      6       2    0.707  0.1458        0.472            1
   36      5       0    0.707  0.1458        0.472            1
   48      5       0    0.707  0.1458        0.472            1
   60      4       0    0.707  0.1458        0.472            1
  120      2       0    0.707  0.1458        0.472            1

                MARGINS=Macroscopic Resid 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     28       1    0.971  0.0290        0.915            1
   24     25       0    0.971  0.0290        0.915            1
   36     17       2    0.874  0.0701        0.746            1
   48     14       1    0.819  0.0844        0.669            1
   60     12       0    0.819  0.0844        0.669            1
  120      1       0    0.819  0.0844        0.669            1

                MARGINS=Not evaluable 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    192       8    0.962  0.0132        0.937        0.988
   24    156      12    0.899  0.0216        0.857        0.942
   36    132       5    0.868  0.0248        0.821        0.918
   48    112       6    0.827  0.0287        0.773        0.885
   60     82       3    0.801  0.0315        0.742        0.865
  120     16       9    0.690  0.0452        0.607        0.784

                MARGINS=No surg 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   3688     206    0.951 0.00335        0.944        0.957
   24   3092     191    0.899 0.00484        0.889        0.908
   36   2490     169    0.846 0.00602        0.834        0.858
   48   1975     126    0.799 0.00699        0.786        0.813
   60   1557      85    0.762 0.00776        0.747        0.777
  120    333     172    0.617 0.01262        0.593        0.642

                MARGINS=Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    296      20    0.941  0.0128        0.917        0.967
   24    254      13    0.897  0.0172        0.864        0.931
   36    207      10    0.858  0.0203        0.819        0.899
   48    164       8    0.823  0.0229        0.780        0.869
   60    119       8    0.778  0.0267        0.728        0.832
  120     26       9    0.681  0.0418        0.604        0.768




   
## Univariable Cox Proportional Hazard Model for:  MARGINS

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ MARGINS, data = data)

  n= 5465, number of events= 1147 

                            coef exp(coef) se(coef)      z Pr(>|z|)   
MARGINSResidual, NOS      0.4508    1.5696   0.2880  1.565  0.11750   
MARGINSMicroscopic Resid  0.6877    1.9892   0.6031  1.140  0.25417   
MARGINSMacroscopic Resid -0.0404    0.9604   0.5295 -0.076  0.93917   
MARGINSNot evaluable      0.4047    1.4989   0.2292  1.766  0.07741 . 
MARGINSNo surg            0.5222    1.6858   0.1770  2.950  0.00318 **
MARGINSUnknown            0.4112    1.5086   0.2112  1.947  0.05153 . 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                         exp(coef) exp(-coef) lower .95 upper .95
MARGINSResidual, NOS        1.5696     0.6371    0.8926     2.760
MARGINSMicroscopic Resid    1.9892     0.5027    0.6099     6.487
MARGINSMacroscopic Resid    0.9604     1.0412    0.3402     2.711
MARGINSNot evaluable        1.4989     0.6672    0.9565     2.349
MARGINSNo surg              1.6858     0.5932    1.1916     2.385
MARGINSUnknown              1.5086     0.6629    0.9973     2.282

Concordance= 0.517  (se = 0.006 )
Rsquare= 0.002   (max possible= 0.964 )
Likelihood ratio test= 12.66  on 6 df,   p=0.04883
Wald test            = 10.95  on 6 df,   p=0.08985
Score (logrank) test = 11.17  on 6 df,   p=0.08323
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  MARGINS

Margins Yes/No

#uni_var(test_var = "MARGINS_YN", data_imp = data)

30 Day Readmission

uni_var(test_var = "READM_HOSP_30_DAYS_F", data_imp = data)
_________________________________________________
   
## READM_HOSP_30_DAYS_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ READM_HOSP_30_DAYS_F, data = data)

                                              n events median 0.95LCL 0.95UCL
READM_HOSP_30_DAYS_F=No_Surg_or_No_Readmit 5332   1107  158.3   155.1      NA
READM_HOSP_30_DAYS_F=Unplan_Readmit_Same     14      2     NA      NA      NA
READM_HOSP_30_DAYS_F=Plan_Readmit_Same       26      8   77.5    54.1      NA
READM_HOSP_30_DAYS_F=PlanUnplan_Same          1      0     NA      NA      NA
READM_HOSP_30_DAYS_F=9                       92     30  132.3    65.3      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ READM_HOSP_30_DAYS_F, data = data)

                READM_HOSP_30_DAYS_F=No_Surg_or_No_Readmit 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   4379     238    0.952 0.00304        0.946        0.958
   24   3678     219    0.902 0.00439        0.893        0.910
   36   2980     188    0.852 0.00543        0.842        0.863
   48   2379     143    0.808 0.00630        0.796        0.820
   60   1863      93    0.773 0.00699        0.759        0.787
  120    391     198    0.632 0.01153        0.609        0.655

                READM_HOSP_30_DAYS_F=Unplan_Readmit_Same 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     12       2    0.857  0.0935        0.692            1
   24      8       0    0.857  0.0935        0.692            1
   36      6       0    0.857  0.0935        0.692            1
   48      4       0    0.857  0.0935        0.692            1
   60      1       0    0.857  0.0935        0.692            1

                READM_HOSP_30_DAYS_F=Plan_Readmit_Same 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     22       2    0.918  0.0554        0.816        1.000
   24     20       2    0.835  0.0755        0.699        0.997
   36     16       1    0.793  0.0825        0.647        0.972
   48     13       0    0.793  0.0825        0.647        0.972
   60      7       2    0.641  0.1200        0.444        0.925
  120      1       1    0.480  0.1653        0.245        0.943

                READM_HOSP_30_DAYS_F=PlanUnplan_Same 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      1       0        1       0            1            1
   24      1       0        1       0            1            1
   36      1       0        1       0            1            1
   48      1       0        1       0            1            1

                READM_HOSP_30_DAYS_F=9 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     76       4    0.952  0.0234        0.907        0.999
   24     63       7    0.859  0.0396        0.785        0.940
   36     53       4    0.800  0.0466        0.713        0.897
   48     44       4    0.737  0.0524        0.641        0.847
   60     34       6    0.635  0.0595        0.528        0.763
  120     11       4    0.531  0.0722        0.406        0.693




   
## Univariable Cox Proportional Hazard Model for:  READM_HOSP_30_DAYS_F
Loglik converged before variable  3 ; beta may be infinite. 
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ READM_HOSP_30_DAYS_F, data = data)

  n= 5465, number of events= 1147 

                                              coef  exp(coef)   se(coef)      z Pr(>|z|)  
READM_HOSP_30_DAYS_FUnplan_Readmit_Same -5.558e-02  9.459e-01  7.079e-01 -0.079   0.9374  
READM_HOSP_30_DAYS_FPlan_Readmit_Same    4.387e-01  1.551e+00  3.549e-01  1.236   0.2165  
READM_HOSP_30_DAYS_FPlanUnplan_Same     -1.099e+01  1.682e-05  4.935e+02 -0.022   0.9822  
READM_HOSP_30_DAYS_F9                    3.844e-01  1.469e+00  1.851e-01  2.077   0.0378 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                        exp(coef) exp(-coef) lower .95 upper .95
READM_HOSP_30_DAYS_FUnplan_Readmit_Same 9.459e-01  1.057e+00    0.2362     3.788
READM_HOSP_30_DAYS_FPlan_Readmit_Same   1.551e+00  6.449e-01    0.7734     3.109
READM_HOSP_30_DAYS_FPlanUnplan_Same     1.682e-05  5.946e+04    0.0000       Inf
READM_HOSP_30_DAYS_F9                   1.469e+00  6.809e-01    1.0218     2.111

Concordance= 0.505  (se = 0.002 )
Rsquare= 0.001   (max possible= 0.964 )
Likelihood ratio test= 5.62  on 4 df,   p=0.2296
Wald test            = 5.78  on 4 df,   p=0.216
Score (logrank) test = 6.11  on 4 df,   p=0.1913
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).Removed 5 rows containing missing values (geom_text).Removed 5 rows containing missing values (geom_text).Removed 5 rows containing missing values (geom_text).Removed 5 rows containing missing values (geom_text).Removed 5 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  READM_HOSP_30_DAYS_F

Radiation Type

uni_var(test_var = "RX_SUMM_RADIATION_F", data_imp = data)
_________________________________________________
   
## RX_SUMM_RADIATION_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_SUMM_RADIATION_F, data = data)

                                            n events median 0.95LCL 0.95UCL
RX_SUMM_RADIATION_F=None                 4655    849     NA   158.3      NA
RX_SUMM_RADIATION_F=Beam Radiation        751    279   96.7    83.8     124
RX_SUMM_RADIATION_F=Radioactive Implants    3      0     NA      NA      NA
RX_SUMM_RADIATION_F=Radioisotopes           1      1   90.8      NA      NA
RX_SUMM_RADIATION_F=Radiation, NOS         28      9  113.5    77.2      NA
RX_SUMM_RADIATION_F=Unknown                27      9  126.8    57.1      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_SUMM_RADIATION_F, data = data)

                RX_SUMM_RADIATION_F=None 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   3794     188    0.956 0.00312        0.950        0.962
   24   3214     158    0.914 0.00443        0.906        0.923
   36   2617     140    0.871 0.00551        0.861        0.882
   48   2102     110    0.832 0.00644        0.819        0.844
   60   1633      83    0.796 0.00728        0.781        0.810
  120    346     148    0.668 0.01228        0.644        0.692

                RX_SUMM_RADIATION_F=Beam Radiation 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    645      55    0.925 0.00977        0.906        0.944
   24    509      67    0.823 0.01460        0.795        0.852
   36    397      52    0.734 0.01753        0.700        0.769
   48    309      33    0.669 0.01929        0.632        0.708
   60    249      15    0.633 0.02033        0.595        0.674
  120     54      51    0.444 0.02803        0.392        0.502

                RX_SUMM_RADIATION_F=Radioactive Implants 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       0        1       0            1            1
   24      2       0        1       0            1            1
   36      1       0        1       0            1            1
   48      1       0        1       0            1            1
   60      1       0        1       0            1            1

                RX_SUMM_RADIATION_F=Radioisotopes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      1       0        1       0            1            1
   24      1       0        1       0            1            1
   36      1       0        1       0            1            1
   48      1       0        1       0            1            1
   60      1       0        1       0            1            1

                RX_SUMM_RADIATION_F=Radiation, NOS 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     25       2    0.927  0.0496        0.835        1.000
   24     23       1    0.889  0.0607        0.777        1.000
   36     21       0    0.889  0.0607        0.777        1.000
   48     14       3    0.750  0.0896        0.594        0.948
   60     12       1    0.697  0.0979        0.529        0.918
  120      1       2    0.310  0.2262        0.074        1.000

                RX_SUMM_RADIATION_F=Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     23       1    0.960  0.0392        0.886        1.000
   24     21       2    0.877  0.0668        0.755        1.000
   36     19       1    0.835  0.0755        0.699        0.997
   48     14       1    0.788  0.0844        0.639        0.972
   60      9       2    0.657  0.1102        0.473        0.913
  120      2       1    0.575  0.1233        0.378        0.875




   
## Univariable Cox Proportional Hazard Model for:  RX_SUMM_RADIATION_F
Loglik converged before variable  2 ; beta may be infinite. 
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_SUMM_RADIATION_F, data = data)

  n= 5465, number of events= 1147 

                                              coef  exp(coef)   se(coef)      z Pr(>|z|)    
RX_SUMM_RADIATION_FBeam Radiation        7.291e-01  2.073e+00  6.903e-02 10.561   <2e-16 ***
RX_SUMM_RADIATION_FRadioactive Implants -1.193e+01  6.615e-06  6.128e+02 -0.019    0.984    
RX_SUMM_RADIATION_FRadioisotopes         1.168e+00  3.217e+00  1.001e+00  1.168    0.243    
RX_SUMM_RADIATION_FRadiation, NOS        4.504e-01  1.569e+00  3.351e-01  1.344    0.179    
RX_SUMM_RADIATION_FUnknown               5.239e-01  1.689e+00  3.351e-01  1.563    0.118    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                        exp(coef) exp(-coef) lower .95 upper .95
RX_SUMM_RADIATION_FBeam Radiation       2.073e+00  4.824e-01    1.8108     2.374
RX_SUMM_RADIATION_FRadioactive Implants 6.615e-06  1.512e+05    0.0000       Inf
RX_SUMM_RADIATION_FRadioisotopes        3.217e+00  3.108e-01    0.4525    22.872
RX_SUMM_RADIATION_FRadiation, NOS       1.569e+00  6.374e-01    0.8135     3.026
RX_SUMM_RADIATION_FUnknown              1.689e+00  5.922e-01    0.8755     3.257

Concordance= 0.557  (se = 0.006 )
Rsquare= 0.018   (max possible= 0.964 )
Likelihood ratio test= 101.3  on 5 df,   p=0
Wald test            = 114.2  on 5 df,   p=0
Score (logrank) test = 119.8  on 5 df,   p=0
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).Removed 6 rows containing missing values (geom_text).Removed 6 rows containing missing values (geom_text).Removed 6 rows containing missing values (geom_text).Removed 6 rows containing missing values (geom_text).Removed 6 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  RX_SUMM_RADIATION_F

Lymphovascular Invasion

#uni_var(test_var = "LYMPH_VASCULAR_INVASION_F", data_imp = data)

Endoscopic/Robotic

uni_var(test_var = "RX_HOSP_SURG_APPR_2010_F", data_imp = data)
_________________________________________________
   
## RX_HOSP_SURG_APPR_2010_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_HOSP_SURG_APPR_2010_F, data = data)

   2218 observations deleted due to missingness 
                                         n events median 0.95LCL 0.95UCL
RX_HOSP_SURG_APPR_2010_F=No_Surg      2837    429     NA      NA      NA
RX_HOSP_SURG_APPR_2010_F=Endo_Lap       14      1   80.1      NA      NA
RX_HOSP_SURG_APPR_2010_F=Open_Unknown  394     52     NA      NA      NA
RX_HOSP_SURG_APPR_2010_F=Unknown         2      0     NA      NA      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_HOSP_SURG_APPR_2010_F, data = data)

2218 observations deleted due to missingness 
                RX_HOSP_SURG_APPR_2010_F=No_Surg 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2256     100    0.961 0.00379        0.954        0.969
   24   1784     107    0.912 0.00585        0.901        0.924
   36   1294      90    0.861 0.00765        0.846        0.876
   48    848      73    0.803 0.00968        0.785        0.823
   60    495      36    0.759 0.01166        0.737        0.783

                RX_HOSP_SURG_APPR_2010_F=Endo_Lap 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     11       0        1       0            1            1
   24      7       0        1       0            1            1
   36      6       0        1       0            1            1
   48      5       0        1       0            1            1
   60      2       0        1       0            1            1

                RX_HOSP_SURG_APPR_2010_F=Open_Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    317      17    0.952  0.0114        0.930        0.975
   24    258      14    0.906  0.0162        0.875        0.938
   36    189      10    0.865  0.0199        0.827        0.905
   48    140       4    0.845  0.0219        0.803        0.889
   60     87       1    0.836  0.0234        0.792        0.883

                RX_HOSP_SURG_APPR_2010_F=Unknown 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      2       0        1       0            1            1
   24      2       0        1       0            1            1
   36      2       0        1       0            1            1
   48      2       0        1       0            1            1
   60      1       0        1       0            1            1




   
## Univariable Cox Proportional Hazard Model for:  RX_HOSP_SURG_APPR_2010_F
Loglik converged before variable  3 ; beta may be infinite. 
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RX_HOSP_SURG_APPR_2010_F, data = data)

  n= 3247, number of events= 482 
   (2218 observations deleted due to missingness)

                                           coef  exp(coef)   se(coef)      z Pr(>|z|)
RX_HOSP_SURG_APPR_2010_FEndo_Lap     -7.298e-01  4.820e-01  1.001e+00 -0.729    0.466
RX_HOSP_SURG_APPR_2010_FOpen_Unknown -2.006e-01  8.182e-01  1.469e-01 -1.366    0.172
RX_HOSP_SURG_APPR_2010_FUnknown      -1.303e+01  2.189e-06  8.775e+02 -0.015    0.988

                                     exp(coef) exp(-coef) lower .95 upper .95
RX_HOSP_SURG_APPR_2010_FEndo_Lap     4.820e-01  2.075e+00   0.06774     3.430
RX_HOSP_SURG_APPR_2010_FOpen_Unknown 8.182e-01  1.222e+00   0.61351     1.091
RX_HOSP_SURG_APPR_2010_FUnknown      2.189e-06  4.569e+05   0.00000       Inf

Concordance= 0.508  (se = 0.008 )
Rsquare= 0.001   (max possible= 0.89 )
Likelihood ratio test= 3.76  on 3 df,   p=0.2889
Wald test            = 2.37  on 3 df,   p=0.5001
Score (logrank) test = 2.97  on 3 df,   p=0.3956
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).Removed 4 rows containing missing values (geom_text).Removed 4 rows containing missing values (geom_text).Removed 4 rows containing missing values (geom_text).Removed 4 rows containing missing values (geom_text).Removed 4 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  RX_HOSP_SURG_APPR_2010_F

Surgery Radiation Sequence

uni_var(test_var = "SURG_RAD_SEQ", data_imp = data)
_________________________________________________
   
## SURG_RAD_SEQ
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURG_RAD_SEQ, data = data)

                                          n events median 0.95LCL 0.95UCL
SURG_RAD_SEQ=Surg Alone                 834    135     NA   147.6      NA
SURG_RAD_SEQ=Surg then Rad              118     35  106.5    92.8      NA
SURG_RAD_SEQ=Rad Alone                  656    251   92.8    80.1     116
SURG_RAD_SEQ=No Treatment              3798    703     NA   158.3      NA
SURG_RAD_SEQ=Other                       52     20   84.9    55.5      NA
SURG_RAD_SEQ=Rad before and after Surg    3      2  134.3    36.2      NA
SURG_RAD_SEQ=Rad then Surg                4      1     NA    15.8      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURG_RAD_SEQ, data = data)

                SURG_RAD_SEQ=Surg Alone 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    677      34    0.955 0.00751        0.941        0.970
   24    579      26    0.916 0.01042        0.896        0.937
   36    482      18    0.886 0.01227        0.862        0.910
   48    395      19    0.849 0.01442        0.821        0.878
   60    297      12    0.820 0.01618        0.789        0.852
  120     58      22    0.723 0.02611        0.673        0.776

                SURG_RAD_SEQ=Surg then Rad 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    105       6    0.948  0.0208        0.908        0.989
   24     82      10    0.850  0.0347        0.785        0.921
   36     68       6    0.784  0.0413        0.707        0.869
   48     58       1    0.771  0.0424        0.693        0.859
   60     45       3    0.727  0.0472        0.640        0.825
  120      9       9    0.490  0.0749        0.363        0.661

                SURG_RAD_SEQ=Rad Alone 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    560      51    0.920  0.0108        0.899        0.941
   24    447      57    0.821  0.0157        0.791        0.853
   36    347      46    0.731  0.0187        0.696        0.769
   48    263      34    0.655  0.0209        0.615        0.697
   60    216      13    0.620  0.0219        0.579        0.665
  120     44      45    0.430  0.0303        0.374        0.493

                SURG_RAD_SEQ=No Treatment 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   3105     148    0.958 0.00339        0.951        0.965
   24   2625     132    0.915 0.00488        0.905        0.925
   36   2125     122    0.869 0.00615        0.857        0.881
   48   1697      91    0.828 0.00720        0.814        0.843
   60   1330      68    0.792 0.00813        0.776        0.808
  120    286     124    0.660 0.01367        0.634        0.688

                SURG_RAD_SEQ=Other 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     37       7    0.849  0.0527        0.752        0.959
   24     33       2    0.802  0.0594        0.693        0.927
   36     31       1    0.778  0.0624        0.664        0.910
   48     26       1    0.752  0.0655        0.634        0.892
   60     15       5    0.589  0.0823        0.448        0.775
  120      4       3    0.412  0.1077        0.247        0.688

                SURG_RAD_SEQ=Rad before and after Surg 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      3       0    1.000   0.000          1.0            1
   24      3       0    1.000   0.000          1.0            1
   36      3       0    1.000   0.000          1.0            1
   48      2       1    0.667   0.272          0.3            1
   60      2       0    0.667   0.272          0.3            1
  120      2       0    0.667   0.272          0.3            1

                SURG_RAD_SEQ=Rad then Surg 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      3       0    1.000   0.000          1.0            1
   24      1       1    0.667   0.272          0.3            1




   
## Univariable Cox Proportional Hazard Model for:  SURG_RAD_SEQ

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURG_RAD_SEQ, data = data)

  n= 5465, number of events= 1147 

                                         coef exp(coef) se(coef)     z Pr(>|z|)    
SURG_RAD_SEQSurg then Rad             0.56100   1.75242  0.18969 2.957 0.003102 ** 
SURG_RAD_SEQRad Alone                 0.88787   2.42996  0.10675 8.317  < 2e-16 ***
SURG_RAD_SEQNo Treatment              0.13661   1.14639  0.09399 1.453 0.146104    
SURG_RAD_SEQOther                     0.91828   2.50498  0.23963 3.832 0.000127 ***
SURG_RAD_SEQRad before and after Surg 0.81423   2.25744  0.71266 1.143 0.253235    
SURG_RAD_SEQRad then Surg             1.39269   4.02565  1.00427 1.387 0.165511    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                      exp(coef) exp(-coef) lower .95 upper .95
SURG_RAD_SEQSurg then Rad                 1.752     0.5706    1.2083     2.542
SURG_RAD_SEQRad Alone                     2.430     0.4115    1.9712     2.995
SURG_RAD_SEQNo Treatment                  1.146     0.8723    0.9535     1.378
SURG_RAD_SEQOther                         2.505     0.3992    1.5661     4.007
SURG_RAD_SEQRad before and after Surg     2.257     0.4430    0.5585     9.125
SURG_RAD_SEQRad then Surg                 4.026     0.2484    0.5623    28.818

Concordance= 0.566  (se = 0.008 )
Rsquare= 0.021   (max possible= 0.964 )
Likelihood ratio test= 113.5  on 6 df,   p=0
Wald test            = 129.1  on 6 df,   p=0
Score (logrank) test = 135.7  on 6 df,   p=0
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  SURG_RAD_SEQ

Surgery Yes/No

uni_var(test_var = "SURGERY_YN", data_imp = data)
_________________________________________________
   
## SURGERY_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURGERY_YN, data = data)

                  n events median 0.95LCL 0.95UCL
SURGERY_YN=No  4465    957  158.3   155.1      NA
SURGERY_YN=Ukn   36     16   53.9    49.5      NA
SURGERY_YN=Yes  964    174     NA   145.1      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURGERY_YN, data = data)

                SURGERY_YN=No 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   3673     200    0.952 0.00332        0.945        0.958
   24   3082     187    0.901 0.00481        0.891        0.910
   36   2480     169    0.848 0.00601        0.836        0.860
   48   1965     126    0.801 0.00699        0.787        0.815
   60   1551      81    0.765 0.00775        0.750        0.780
  120    332     170    0.621 0.01259        0.597        0.647

                SURGERY_YN=Ukn 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     24       6    0.807  0.0710        0.679        0.959
   24     18       4    0.665  0.0872        0.514        0.860
   36     18       0    0.665  0.0872        0.514        0.860
   48     17       0    0.665  0.0872        0.514        0.860
   60      9       4    0.490  0.0990        0.330        0.728
  120      2       2    0.272  0.1335        0.104        0.712

                SURGERY_YN=Yes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    793      40    0.955 0.00697        0.941        0.969
   24    670      37    0.907 0.01011        0.888        0.927
   36    558      24    0.873 0.01195        0.850        0.896
   48    459      21    0.838 0.01368        0.811        0.865
   60    345      16    0.805 0.01544        0.775        0.836
  120     69      31    0.686 0.02545        0.638        0.737




   
## Univariable Cox Proportional Hazard Model for:  SURGERY_YN

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURGERY_YN, data = data)

  n= 5465, number of events= 1147 

                  coef exp(coef) se(coef)      z Pr(>|z|)    
SURGERY_YNUkn  0.91780   2.50379  0.25212  3.640 0.000272 ***
SURGERY_YNYes -0.18419   0.83178  0.08243 -2.234 0.025457 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

              exp(coef) exp(-coef) lower .95 upper .95
SURGERY_YNUkn    2.5038     0.3994    1.5275    4.1040
SURGERY_YNYes    0.8318     1.2022    0.7077    0.9776

Concordance= 0.517  (se = 0.006 )
Rsquare= 0.003   (max possible= 0.964 )
Likelihood ratio test= 15.87  on 2 df,   p=0.0003584
Wald test            = 19.11  on 2 df,   p=7.074e-05
Score (logrank) test = 20.25  on 2 df,   p=4.008e-05
no non-missing arguments to min; returning Infno non-missing arguments to max; returning -InfTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  SURGERY_YN

Radiation Yes/No

uni_var(test_var = "RADIATION_YN", data_imp = data)
_________________________________________________
   
## RADIATION_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RADIATION_YN, data = data)

   29 observations deleted due to missingness 
                    n events median 0.95LCL 0.95UCL
RADIATION_YN=No  4653    847     NA     158      NA
RADIATION_YN=Yes  783    289   98.7      84     116

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RADIATION_YN, data = data)

29 observations deleted due to missingness 
                RADIATION_YN=No 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   3794     186    0.957 0.00311        0.951        0.963
   24   3214     158    0.915 0.00443        0.906        0.923
   36   2617     140    0.872 0.00550        0.861        0.883
   48   2102     110    0.832 0.00644        0.819        0.845
   60   1633      83    0.796 0.00728        0.782        0.810
  120    346     148    0.668 0.01228        0.644        0.692

                RADIATION_YN=Yes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    673      57    0.925 0.00955        0.907        0.944
   24    535      68    0.826 0.01418        0.799        0.855
   36    420      52    0.741 0.01698        0.708        0.775
   48    325      36    0.673 0.01882        0.637        0.711
   60    263      16    0.637 0.01986        0.599        0.677
  120     55      54    0.441 0.02796        0.390        0.499




   
## Univariable Cox Proportional Hazard Model for:  RADIATION_YN

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ RADIATION_YN, data = data)

  n= 5436, number of events= 1136 
   (29 observations deleted due to missingness)

                   coef exp(coef) se(coef)     z Pr(>|z|)    
RADIATION_YNYes 0.72002   2.05447  0.06815 10.56   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                exp(coef) exp(-coef) lower .95 upper .95
RADIATION_YNYes     2.054     0.4867     1.798     2.348

Concordance= 0.556  (se = 0.006 )
Rsquare= 0.018   (max possible= 0.963 )
Likelihood ratio test= 98.22  on 1 df,   p=0
Wald test            = 111.6  on 1 df,   p=0
Score (logrank) test = 116.5  on 1 df,   p=0





   
## Unadjusted Kaplan Meier Overall Survival Curve for:  RADIATION_YN

Chemo Yes/No

uni_var(test_var = "CHEMO_YN", data_imp = data)
_________________________________________________
   
## CHEMO_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CHEMO_YN, data = data)

                n events median 0.95LCL 0.95UCL
CHEMO_YN=No  3798    624     NA      NA      NA
CHEMO_YN=Yes 1480    490    120     102      NA
CHEMO_YN=Ukn  187     33     NA     127      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CHEMO_YN, data = data)

                CHEMO_YN=No 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   3118     126    0.964 0.00314        0.958        0.970
   24   2657     103    0.930 0.00446        0.922        0.939
   36   2166     102    0.892 0.00567        0.881        0.903
   48   1729      85    0.854 0.00678        0.841        0.867
   60   1345      52    0.825 0.00762        0.811        0.840
  120    292     138    0.681 0.01384        0.654        0.708

                CHEMO_YN=Yes 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   1221     114    0.919 0.00727        0.905        0.934
   24    977     121    0.823 0.01052        0.803        0.844
   36    771      89    0.743 0.01248        0.719        0.768
   48    615      58    0.683 0.01373        0.657        0.711
   60    486      42    0.633 0.01476        0.605        0.662
  120     94      58    0.504 0.02033        0.466        0.546

                CHEMO_YN=Ukn 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    151       6    0.964  0.0144        0.936        0.993
   24    136       4    0.938  0.0191        0.901        0.976
   36    119       2    0.924  0.0212        0.883        0.966
   48     97       4    0.892  0.0258        0.843        0.944
   60     74       7    0.822  0.0347        0.757        0.893
  120     17       7    0.680  0.0617        0.569        0.812




   
## Univariable Cox Proportional Hazard Model for:  CHEMO_YN

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ CHEMO_YN, data = data)

  n= 5465, number of events= 1147 

                coef exp(coef) se(coef)      z Pr(>|z|)    
CHEMO_YNYes 0.760848  2.140091 0.060395 12.598   <2e-16 ***
CHEMO_YNUkn 0.001495  1.001496 0.178646  0.008    0.993    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

            exp(coef) exp(-coef) lower .95 upper .95
CHEMO_YNYes     2.140     0.4673    1.9012     2.409
CHEMO_YNUkn     1.001     0.9985    0.7056     1.421

Concordance= 0.596  (se = 0.007 )
Rsquare= 0.028   (max possible= 0.964 )
Likelihood ratio test= 153.1  on 2 df,   p=0
Wald test            = 162.2  on 2 df,   p=0
Score (logrank) test = 170.2  on 2 df,   p=0
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  CHEMO_YN

Treatment Yes/No

uni_var(test_var = "Tx_YN", data_imp = data)
_________________________________________________
   
## Tx_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ Tx_YN, data = data)

   187 observations deleted due to missingness 
               n events median 0.95LCL 0.95UCL
Tx_YN=FALSE 2468    332     NA      NA      NA
Tx_YN=TRUE  2810    782    144     132      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ Tx_YN, data = data)

187 observations deleted due to missingness 
                Tx_YN=FALSE 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2019      67    0.971 0.00353        0.964        0.978
   24   1728      51    0.945 0.00497        0.935        0.955
   36   1400      53    0.913 0.00641        0.901        0.926
   48   1120      42    0.883 0.00773        0.868        0.898
   60    867      34    0.853 0.00900        0.836        0.871
  120    192      77    0.714 0.01762        0.681        0.750

                Tx_YN=TRUE 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   2320     173    0.935 0.00480        0.925        0.944
   24   1906     173    0.861 0.00697        0.847        0.875
   36   1537     138    0.795 0.00842        0.778        0.811
   48   1224     101    0.739 0.00950        0.720        0.758
   60    964      60    0.699 0.01027        0.679        0.720
  120    194     119    0.560 0.01502        0.531        0.590




   
## Univariable Cox Proportional Hazard Model for:  Tx_YN

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ Tx_YN, data = data)

  n= 5278, number of events= 1114 
   (187 observations deleted due to missingness)

             coef exp(coef) se(coef)     z Pr(>|z|)    
Tx_YNTRUE 0.75720   2.13230  0.06553 11.55   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

          exp(coef) exp(-coef) lower .95 upper .95
Tx_YNTRUE     2.132      0.469     1.875     2.425

Concordance= 0.596  (se = 0.008 )
Rsquare= 0.027   (max possible= 0.964 )
Likelihood ratio test= 144.9  on 1 df,   p=0
Wald test            = 133.5  on 1 df,   p=0
Score (logrank) test = 140  on 1 df,   p=0





   
## Unadjusted Kaplan Meier Overall Survival Curve for:  Tx_YN

Metastases at Dx

uni_var(test_var = "mets_at_dx_F", data_imp = data)
_________________________________________________
   
## mets_at_dx_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ mets_at_dx_F, data = data)

                      n events median 0.95LCL 0.95UCL
mets_at_dx_F=FALSE 5452   1135 158.32  155.07      NA
mets_at_dx_F=TRUE    13     12   6.97    3.42      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ mets_at_dx_F, data = data)

                mets_at_dx_F=FALSE 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   4486     238    0.953 0.00298        0.947        0.959
   24   3767     227    0.902 0.00434        0.894        0.911
   36   3055     191    0.853 0.00536        0.843        0.864
   48   2441     146    0.809 0.00621        0.797        0.821
   60   1905     101    0.772 0.00693        0.759        0.786
  120    403     203    0.631 0.01138        0.609        0.654

                mets_at_dx_F=TRUE 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      4       8   0.3590  0.1387        0.168        0.765
   24      3       1   0.2692  0.1298        0.105        0.693
   36      1       2   0.0897  0.0851        0.014        0.576




   
## Univariable Cox Proportional Hazard Model for:  mets_at_dx_F

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ mets_at_dx_F, data = data)

  n= 5465, number of events= 1147 

                    coef exp(coef) se(coef)    z Pr(>|z|)    
mets_at_dx_FTRUE  2.8779   17.7775   0.2916 9.87   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                 exp(coef) exp(-coef) lower .95 upper .95
mets_at_dx_FTRUE     17.78    0.05625     10.04     31.48

Concordance= 0.507  (se = 0.001 )
Rsquare= 0.008   (max possible= 0.964 )
Likelihood ratio test= 46.21  on 1 df,   p=1.065e-11
Wald test            = 97.42  on 1 df,   p=0
Score (logrank) test = 186.2  on 1 df,   p=0





   
## Unadjusted Kaplan Meier Overall Survival Curve for:  mets_at_dx_F

Tumor Size

uni_var(test_var = "T_SIZE", data_imp = data)
_________________________________________________
   
## T_SIZE
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ T_SIZE, data = data)

                            n events median 0.95LCL 0.95UCL
T_SIZE=No Tumor            33      2     NA      NA      NA
T_SIZE=Microscopic focus    5      3   49.5    32.0      NA
T_SIZE=< 1 cm              72      9     NA   132.1      NA
T_SIZE=1-2 cm              50      7     NA      NA      NA
T_SIZE=2-3 cm              48      9     NA      NA      NA
T_SIZE=3-4 cm              46     11  141.7      NA      NA
T_SIZE=4-5 cm              45     14     NA    51.0      NA
T_SIZE=5-6 cm              32     11  135.7    48.9      NA
T_SIZE=>6 cm              200     58  155.1   127.9      NA
T_SIZE=NA_unk            4934   1023  158.3   158.3      NA

Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ T_SIZE, data = data)

                T_SIZE=No Tumor 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     28       0     1.00  0.0000         1.00            1
   24     20       2     0.92  0.0544         0.82            1
   36     13       0     0.92  0.0544         0.82            1
   48      9       0     0.92  0.0544         0.82            1
   60      5       0     0.92  0.0544         0.82            1
  120      1       0     0.92  0.0544         0.82            1

                T_SIZE=Microscopic focus 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12      4       1      0.8   0.179        0.516            1
   24      4       0      0.8   0.179        0.516            1
   36      3       1      0.6   0.219        0.293            1
   48      3       0      0.6   0.219        0.293            1
   60      1       1      0.4   0.219        0.137            1
  120      1       0      0.4   0.219        0.137            1

                T_SIZE=< 1 cm 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     59       3    0.952  0.0273        0.900        1.000
   24     50       3    0.900  0.0387        0.828        0.979
   36     47       0    0.900  0.0387        0.828        0.979
   48     44       0    0.900  0.0387        0.828        0.979
   60     34       1    0.875  0.0453        0.790        0.968
  120      7       1    0.849  0.0508        0.755        0.954

                T_SIZE=1-2 cm 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     42       1    0.978  0.0220        0.936        1.000
   24     39       1    0.954  0.0319        0.894        1.000
   36     34       2    0.902  0.0466        0.815        0.998
   48     27       2    0.844  0.0591        0.736        0.968
   60     20       1    0.809  0.0663        0.689        0.950
  120      6       0    0.809  0.0663        0.689        0.950

                T_SIZE=2-3 cm 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     43       1    0.978  0.0220        0.936        1.000
   24     36       4    0.883  0.0493        0.791        0.985
   36     33       2    0.832  0.0580        0.726        0.954
   48     30       0    0.832  0.0580        0.726        0.954
   60     25       0    0.832  0.0580        0.726        0.954
  120      8       2    0.721  0.0903        0.564        0.921

                T_SIZE=3-4 cm 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     40       3    0.934  0.0367        0.865        1.000
   24     32       1    0.911  0.0426        0.831        0.998
   36     26       3    0.821  0.0627        0.707        0.953
   48     22       2    0.755  0.0728        0.625        0.912
   60     17       0    0.755  0.0728        0.625        0.912
  120      4       1    0.711  0.0810        0.568        0.888

                T_SIZE=4-5 cm 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     38       4    0.905  0.0453        0.820        0.998
   24     30       4    0.805  0.0620        0.692        0.936
   36     25       1    0.775  0.0665        0.655        0.917
   48     19       3    0.675  0.0793        0.536        0.850
   60     14       2    0.591  0.0891        0.439        0.794
  120      4       0    0.591  0.0891        0.439        0.794

                T_SIZE=5-6 cm 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12     25       2    0.933  0.0457        0.848        1.000
   24     21       3    0.817  0.0746        0.683        0.977
   36     17       1    0.776  0.0813        0.632        0.953
   48     13       2    0.672  0.0980        0.505        0.895
   60     10       1    0.621  0.1032        0.448        0.860
  120      1       1    0.517  0.1277        0.319        0.839

                T_SIZE=>6 cm 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12    166      14    0.926  0.0191        0.889        0.964
   24    146      13    0.853  0.0262        0.803        0.906
   36    132       9    0.799  0.0301        0.742        0.860
   48    121       4    0.774  0.0316        0.715        0.839
   60    110       2    0.762  0.0323        0.701        0.828
  120     24      13    0.625  0.0463        0.540        0.723

                T_SIZE=NA_unk 
 time n.risk n.event survival std.err lower 95% CI upper 95% CI
   12   4045     217    0.953 0.00314        0.947        0.959
   24   3392     197    0.904 0.00453        0.895        0.912
   36   2726     174    0.854 0.00564        0.843        0.865
   48   2153     134    0.808 0.00659        0.795        0.821
   60   1669      93    0.769 0.00739        0.755        0.784
  120    347     185    0.622 0.01232        0.598        0.647




   
## Univariable Cox Proportional Hazard Model for:  T_SIZE

Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ T_SIZE, data = data)

  n= 5465, number of events= 1147 

                          coef exp(coef) se(coef)     z Pr(>|z|)  
T_SIZEMicroscopic focus 1.8551    6.3921   0.9130 2.032   0.0422 *
T_SIZE< 1 cm            0.2814    1.3250   0.7819 0.360   0.7189  
T_SIZE1-2 cm            0.4119    1.5097   0.8019 0.514   0.6075  
T_SIZE2-3 cm            0.5899    1.8038   0.7819 0.754   0.4506  
T_SIZE3-4 cm            1.0296    2.7999   0.7688 1.339   0.1805  
T_SIZE4-5 cm            1.3601    3.8966   0.7561 1.799   0.0720 .
T_SIZE5-6 cm            1.4693    4.3462   0.7688 1.911   0.0560 .
T_SIZE>6 cm             1.0531    2.8665   0.7194 1.464   0.1432  
T_SIZENA_unk            0.9472    2.5786   0.7079 1.338   0.1808  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                        exp(coef) exp(-coef) lower .95 upper .95
T_SIZEMicroscopic focus     6.392     0.1564    1.0678    38.266
T_SIZE< 1 cm                1.325     0.7547    0.2862     6.134
T_SIZE1-2 cm                1.510     0.6624    0.3136     7.269
T_SIZE2-3 cm                1.804     0.5544    0.3896     8.351
T_SIZE3-4 cm                2.800     0.3572    0.6205    12.634
T_SIZE4-5 cm                3.897     0.2566    0.8853    17.150
T_SIZE5-6 cm                4.346     0.2301    0.9632    19.612
T_SIZE>6 cm                 2.867     0.3489    0.6998    11.741
T_SIZENA_unk                2.579     0.3878    0.6439    10.326

Concordance= 0.518  (se = 0.005 )
Rsquare= 0.003   (max possible= 0.964 )
Likelihood ratio test= 18.47  on 9 df,   p=0.03011
Wald test            = 17.48  on 9 df,   p=0.04173
Score (logrank) test = 18.18  on 9 df,   p=0.03316
Removed 1 rows containing missing values (geom_errorbar).



   
## Unadjusted Kaplan Meier Overall Survival Curve for:  T_SIZE

Tumor specific Variables

Node Size

Cox Proportional Hazard Ratio

Model #1

Full analysis

model_one <- coxph(Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 0)
                     ~ SURG_RAD_SEQ + INSURANCE_F + AGE + SEX_F + RACE_F + INCOME_F + U_R_F +
                      FACILITY_TYPE_F + FACILITY_LOCATION_F + EDUCATION_F,
                     data = data)
model_one %>% summary()
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 
    0) ~ SURG_RAD_SEQ + INSURANCE_F + AGE + SEX_F + RACE_F + 
    INCOME_F + U_R_F + FACILITY_TYPE_F + FACILITY_LOCATION_F + 
    EDUCATION_F, data = data)

  n= 4371, number of events= 1069 
   (1094 observations deleted due to missingness)

                                                  coef exp(coef)  se(coef)      z Pr(>|z|)    
SURG_RAD_SEQSurg then Rad                     0.400643  1.492784  0.202657  1.977 0.048047 *  
SURG_RAD_SEQRad Alone                         0.496388  1.642777  0.115618  4.293 1.76e-05 ***
SURG_RAD_SEQNo Treatment                      0.073587  1.076362  0.099962  0.736 0.461642    
SURG_RAD_SEQOther                             0.601147  1.824210  0.257473  2.335 0.019554 *  
SURG_RAD_SEQRad before and after Surg         0.983130  2.672810  0.739498  1.329 0.183697    
SURG_RAD_SEQRad then Surg                     1.205661  3.338967  1.009296  1.195 0.232260    
INSURANCE_FNone                               0.224167  1.251280  0.205128  1.093 0.274475    
INSURANCE_FMedicaid                           0.542554  1.720396  0.167361  3.242 0.001188 ** 
INSURANCE_FMedicare                           0.319467  1.376394  0.086262  3.703 0.000213 ***
INSURANCE_FOther Government                   0.228550  1.256777  0.252553  0.905 0.365487    
INSURANCE_FUnknown                            0.229491  1.257960  0.187185  1.226 0.220194    
AGE                                           0.053402  1.054854  0.003465 15.411  < 2e-16 ***
SEX_FFemale                                  -0.360709  0.697182  0.064316 -5.608 2.04e-08 ***
RACE_FBlack                                   0.283804  1.328172  0.089233  3.180 0.001470 ** 
RACE_FOther/Unk                              -0.430709  0.650048  0.228650 -1.884 0.059605 .  
RACE_FAsian                                  -0.320348  0.725896  0.264911 -1.209 0.226560    
INCOME_F$38,000 - $47,999                     0.086740  1.090613  0.101840  0.852 0.394367    
INCOME_F$48,000 - $62,999                    -0.029468  0.970962  0.114329 -0.258 0.796602    
INCOME_F$63,000 +                            -0.099017  0.905727  0.132458 -0.748 0.454741    
U_R_FUrban                                    0.076730  1.079751  0.096166  0.798 0.424934    
U_R_FRural                                   -0.059801  0.941952  0.244242 -0.245 0.806578    
FACILITY_TYPE_FComprehensive Comm Ca Program -0.193590  0.823995  0.171547 -1.128 0.259109    
FACILITY_TYPE_FAcademic/Research Program     -0.292537  0.746368  0.156985 -1.863 0.062396 .  
FACILITY_TYPE_FIntegrated Network Ca Program -0.090929  0.913083  0.191020 -0.476 0.634063    
FACILITY_LOCATION_FMiddle Atlantic           -0.216694  0.805176  0.152120 -1.424 0.154303    
FACILITY_LOCATION_FSouth Atlantic            -0.209558  0.810942  0.154188 -1.359 0.174113    
FACILITY_LOCATION_FEast North Central        -0.149151  0.861439  0.158167 -0.943 0.345685    
FACILITY_LOCATION_FEast South Central        -0.076383  0.926461  0.186001 -0.411 0.681323    
FACILITY_LOCATION_FWest North Central         0.128827  1.137493  0.179871  0.716 0.473856    
FACILITY_LOCATION_FWest South Central         0.040642  1.041479  0.190605  0.213 0.831150    
FACILITY_LOCATION_FMountain                  -0.449264  0.638098  0.217990 -2.061 0.039309 *  
FACILITY_LOCATION_FPacific                   -0.029293  0.971131  0.168444 -0.174 0.861939    
EDUCATION_F13 - 20.9%                        -0.168731  0.844736  0.099115 -1.702 0.088687 .  
EDUCATION_F7 - 12.9%                         -0.227838  0.796253  0.111032 -2.052 0.040169 *  
EDUCATION_FLess than 7%                      -0.360131  0.697585  0.135547 -2.657 0.007887 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                                             exp(coef) exp(-coef) lower .95 upper .95
SURG_RAD_SEQSurg then Rad                       1.4928     0.6699    1.0034    2.2207
SURG_RAD_SEQRad Alone                           1.6428     0.6087    1.3097    2.0606
SURG_RAD_SEQNo Treatment                        1.0764     0.9291    0.8849    1.3093
SURG_RAD_SEQOther                               1.8242     0.5482    1.1013    3.0216
SURG_RAD_SEQRad before and after Surg           2.6728     0.3741    0.6273   11.3875
SURG_RAD_SEQRad then Surg                       3.3390     0.2995    0.4618   24.1394
INSURANCE_FNone                                 1.2513     0.7992    0.8370    1.8705
INSURANCE_FMedicaid                             1.7204     0.5813    1.2393    2.3883
INSURANCE_FMedicare                             1.3764     0.7265    1.1623    1.6299
INSURANCE_FOther Government                     1.2568     0.7957    0.7661    2.0617
INSURANCE_FUnknown                              1.2580     0.7949    0.8716    1.8155
AGE                                             1.0549     0.9480    1.0477    1.0620
SEX_FFemale                                     0.6972     1.4343    0.6146    0.7908
RACE_FBlack                                     1.3282     0.7529    1.1151    1.5820
RACE_FOther/Unk                                 0.6500     1.5383    0.4153    1.0176
RACE_FAsian                                     0.7259     1.3776    0.4319    1.2200
INCOME_F$38,000 - $47,999                       1.0906     0.9169    0.8933    1.3315
INCOME_F$48,000 - $62,999                       0.9710     1.0299    0.7760    1.2148
INCOME_F$63,000 +                               0.9057     1.1041    0.6986    1.1742
U_R_FUrban                                      1.0798     0.9261    0.8943    1.3037
U_R_FRural                                      0.9420     1.0616    0.5836    1.5203
FACILITY_TYPE_FComprehensive Comm Ca Program    0.8240     1.2136    0.5887    1.1533
FACILITY_TYPE_FAcademic/Research Program        0.7464     1.3398    0.5487    1.0153
FACILITY_TYPE_FIntegrated Network Ca Program    0.9131     1.0952    0.6279    1.3277
FACILITY_LOCATION_FMiddle Atlantic              0.8052     1.2420    0.5976    1.0849
FACILITY_LOCATION_FSouth Atlantic               0.8109     1.2331    0.5994    1.0971
FACILITY_LOCATION_FEast North Central           0.8614     1.1608    0.6318    1.1745
FACILITY_LOCATION_FEast South Central           0.9265     1.0794    0.6434    1.3340
FACILITY_LOCATION_FWest North Central           1.1375     0.8791    0.7995    1.6183
FACILITY_LOCATION_FWest South Central           1.0415     0.9602    0.7168    1.5132
FACILITY_LOCATION_FMountain                     0.6381     1.5672    0.4162    0.9782
FACILITY_LOCATION_FPacific                      0.9711     1.0297    0.6981    1.3510
EDUCATION_F13 - 20.9%                           0.8447     1.1838    0.6956    1.0259
EDUCATION_F7 - 12.9%                            0.7963     1.2559    0.6405    0.9898
EDUCATION_FLess than 7%                         0.6976     1.4335    0.5348    0.9099

Concordance= 0.731  (se = 0.01 )
Rsquare= 0.153   (max possible= 0.977 )
Likelihood ratio test= 725.6  on 35 df,   p=0
Wald test            = 701  on 35 df,   p=0
Score (logrank) test = 761.5  on 35 df,   p=0

Summary of Model

model_one %>%
        tidy(., exponentiate = TRUE) %>%
        select(term, estimate, conf.low, conf.high, p.value) %>%
        rename(Variable = term,
               Hazard_Ratio = estimate) %>%
        tbl_df %>%
        print(n = nrow(.))

Linear Regression

summary(fit_surv) # R^2 =0.3696, p < 2.2e-16 

Call:
lm(formula = DX_LASTCONTACT_DEATH_MONTHS ~ FACILITY_TYPE_F + 
    FACILITY_LOCATION_F + CROWFLY + DX_STAGING_PROC_DAYS + CHEMO_YN + 
    RADIATION_YN + SURGERY_YN + AGE_F + SEX_F + RACE_F + INSURANCE_F + 
    YEAR_OF_DIAGNOSIS + SITE_TEXT + GRADE_F, data = data2)

Residuals:
    Min      1Q  Median      3Q     Max 
-96.453 -19.772   3.944  20.642  82.142 

Coefficients:
                                                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                                               89.628467  21.407978   4.187 2.90e-05 ***
FACILITY_TYPE_FComprehensive Comm Ca Program               2.813109   4.109084   0.685 0.493640    
FACILITY_TYPE_FAcademic/Research Program                   6.894343   3.864299   1.784 0.074497 .  
FACILITY_TYPE_FIntegrated Network Ca Program               5.785490   4.488508   1.289 0.197503    
FACILITY_LOCATION_FMiddle Atlantic                         8.435720   2.692362   3.133 0.001744 ** 
FACILITY_LOCATION_FSouth Atlantic                         13.491254   2.738074   4.927 8.75e-07 ***
FACILITY_LOCATION_FEast North Central                     11.250381   2.815132   3.996 6.57e-05 ***
FACILITY_LOCATION_FEast South Central                     10.574569   3.502935   3.019 0.002557 ** 
FACILITY_LOCATION_FWest North Central                      6.120303   3.239369   1.889 0.058932 .  
FACILITY_LOCATION_FWest South Central                      7.447789   3.494516   2.131 0.033140 *  
FACILITY_LOCATION_FMountain                                7.043860   3.626771   1.942 0.052199 .  
FACILITY_LOCATION_FPacific                                12.037174   2.993467   4.021 5.92e-05 ***
CROWFLY                                                   -0.009827   0.005143  -1.911 0.056091 .  
DX_STAGING_PROC_DAYS                                       0.015668   0.007061   2.219 0.026564 *  
CHEMO_YNYes                                               -4.423477   1.200173  -3.686 0.000232 ***
RADIATION_YNYes                                           -3.563553   1.561388  -2.282 0.022535 *  
SURGERY_YNYes                                             -1.183839   2.101396  -0.563 0.573229    
AGE_F(54,64]                                              -2.400930   1.407567  -1.706 0.088152 .  
AGE_F(64,74]                                              -3.813776   1.926902  -1.979 0.047873 *  
AGE_F(74,100]                                            -13.521905   2.158190  -6.265 4.20e-10 ***
SEX_FFemale                                                2.176720   1.097520   1.983 0.047416 *  
RACE_FBlack                                               -0.933923   1.459526  -0.640 0.522294    
RACE_FOther/Unk                                            2.860552   3.009294   0.951 0.341891    
RACE_FAsian                                                4.706167   3.144633   1.497 0.134600    
INSURANCE_FNone                                           -3.958138   3.191021  -1.240 0.214916    
INSURANCE_FMedicaid                                       -5.861665   2.786863  -2.103 0.035513 *  
INSURANCE_FMedicare                                       -2.943364   1.718720  -1.713 0.086892 .  
INSURANCE_FOther Government                                1.496805   4.832453   0.310 0.756778    
INSURANCE_FUnknown                                        -2.196266   3.582093  -0.613 0.539837    
YEAR_OF_DIAGNOSIS2005                                     -9.707359   3.196101  -3.037 0.002406 ** 
YEAR_OF_DIAGNOSIS2006                                    -13.915031   3.217578  -4.325 1.57e-05 ***
YEAR_OF_DIAGNOSIS2007                                    -15.364272   3.282049  -4.681 2.96e-06 ***
YEAR_OF_DIAGNOSIS2008                                    -28.614282   3.141599  -9.108  < 2e-16 ***
YEAR_OF_DIAGNOSIS2009                                    -30.350991   2.995996 -10.131  < 2e-16 ***
YEAR_OF_DIAGNOSIS2010                                    -31.816941   3.241358  -9.816  < 2e-16 ***
YEAR_OF_DIAGNOSIS2011                                    -38.636048   3.238598 -11.930  < 2e-16 ***
YEAR_OF_DIAGNOSIS2012                                    -48.928044   3.221579 -15.188  < 2e-16 ***
YEAR_OF_DIAGNOSIS2013                                    -56.094859   3.153621 -17.787  < 2e-16 ***
YEAR_OF_DIAGNOSIS2014                                    -62.497426   3.154091 -19.815  < 2e-16 ***
YEAR_OF_DIAGNOSIS2015                                    -70.204141   3.133592 -22.404  < 2e-16 ***
SITE_TEXTC44.1 Eyelid                                     -0.653735  17.411644  -0.038 0.970052    
SITE_TEXTC44.2 External ear                              -11.513686  20.770551  -0.554 0.579392    
SITE_TEXTC44.3 Skin of ear and unspecified parts of face   5.960018  10.864111   0.549 0.583319    
SITE_TEXTC44.4 Skin of scalp and neck                     -1.232777  11.457868  -0.108 0.914326    
SITE_TEXTC44.5 Skin of trunk                               0.598272  10.476257   0.057 0.954463    
SITE_TEXTC44.6 Skin of upper limb and shoulder            -4.861995  10.666797  -0.456 0.648559    
SITE_TEXTC44.7 Skin of lower limb and hip                  3.493894  10.531821   0.332 0.740102    
SITE_TEXTC44.8 Overlapping lesion of skin                 -5.912364  10.523587  -0.562 0.574277    
SITE_TEXTC44.9 Skin, NOS                                  -2.382137  10.409073  -0.229 0.818998    
SITE_TEXTC51.9 Vulva, NOS                                -46.705549  33.020604  -1.414 0.157328    
GRADE_F5                                                  -8.816677  18.069291  -0.488 0.625627    
GRADE_F6                                                 -21.250567  22.100666  -0.962 0.336353    
GRADE_F7                                                 -71.382326  35.993593  -1.983 0.047428 *  
GRADE_F8                                                 -22.119326  28.548023  -0.775 0.438507    
GRADE_FNA/Unkown                                          -4.501088  18.041533  -0.249 0.803001    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 31.04 on 3313 degrees of freedom
  (1876 observations deleted due to missingness)
Multiple R-squared:  0.3705,    Adjusted R-squared:  0.3602 
F-statistic: 36.11 on 54 and 3313 DF,  p-value: < 2.2e-16

Prediction Logistic Regression Models

Surgery

Chemo

Radiation

Immunotherapy

Any Treatment

exp(cbind("Odds ratio" = coef(fit_tx), confint.default(fit_tx, level = 0.95)))
                                                         Odds ratio     2.5 %    97.5 %
(Intercept)                                               1.8125904 0.9042027 3.6335702
FACILITY_TYPE_FComprehensive Comm Ca Program              1.0253245 0.8824349 1.1913517
FACILITY_TYPE_FAcademic/Research Program                  0.9947215 0.8630706 1.1464543
FACILITY_TYPE_FIntegrated Network Ca Program              1.1246399 0.9555566 1.3236420
FACILITY_LOCATION_FMiddle Atlantic                        0.8251561 0.7517163 0.9057708
FACILITY_LOCATION_FSouth Atlantic                         0.9066385 0.8221963 0.9997533
FACILITY_LOCATION_FEast North Central                     0.8629317 0.7807270 0.9537920
FACILITY_LOCATION_FEast South Central                     0.9330546 0.8236517 1.0569891
FACILITY_LOCATION_FWest North Central                     0.9044956 0.8088575 1.0114419
FACILITY_LOCATION_FWest South Central                     0.9000475 0.7943760 1.0197759
FACILITY_LOCATION_FMountain                               0.8675856 0.7631586 0.9863018
FACILITY_LOCATION_FPacific                                0.8372115 0.7529223 0.9309369
CROWFLY                                                   1.0000428 0.9998566 1.0002290
DX_STAGING_PROC_DAYS                                      0.9999669 0.9997448 1.0001890
AGE_F(54,64]                                              1.0093564 0.9599375 1.0613195
AGE_F(64,74]                                              0.9549939 0.8914452 1.0230728
AGE_F(74,100]                                             1.0431291 0.9645046 1.1281631
SEX_FFemale                                               0.9468347 0.9102895 0.9848471
RACE_FBlack                                               0.9300628 0.8799143 0.9830694
RACE_FOther/Unk                                           0.9529697 0.8517724 1.0661900
RACE_FAsian                                               0.8875845 0.7891582 0.9982869
HISPANICYes                                               0.9465190 0.8615838 1.0398271
HISPANICUnknown                                           0.9695660 0.8639252 1.0881246
INSURANCE_FNone                                           0.9829046 0.8692851 1.1113747
INSURANCE_FMedicaid                                       0.9801813 0.8854602 1.0850352
INSURANCE_FMedicare                                       0.9828550 0.9237200 1.0457758
INSURANCE_FOther Government                               1.0598219 0.9021066 1.2451107
INSURANCE_FUnknown                                        0.9306867 0.8111247 1.0678723
INCOME_F$38,000 - $47,999                                 1.0307364 0.9600322 1.1066477
INCOME_F$48,000 - $62,999                                 1.0306063 0.9551945 1.1119718
INCOME_F$63,000 +                                         1.0487589 0.9640823 1.1408727
EDUCATION_F13 - 20.9%                                     0.9943241 0.9276803 1.0657555
EDUCATION_F7 - 12.9%                                      0.9497827 0.8796005 1.0255648
EDUCATION_FLess than 7%                                   0.9037458 0.8283422 0.9860134
YEAR_OF_DIAGNOSIS2005                                     0.8322923 0.7062462 0.9808343
YEAR_OF_DIAGNOSIS2006                                     0.8619544 0.7234781 1.0269355
YEAR_OF_DIAGNOSIS2007                                     0.8702372 0.7274895 1.0409947
YEAR_OF_DIAGNOSIS2008                                     0.9578970 0.8126861 1.1290541
YEAR_OF_DIAGNOSIS2009                                     0.9186296 0.7851651 1.0747806
YEAR_OF_DIAGNOSIS2010                                     0.9321020 0.8117976 1.0702349
YEAR_OF_DIAGNOSIS2011                                     0.8715563 0.7589584 1.0008589
YEAR_OF_DIAGNOSIS2012                                     0.8837268 0.7698432 1.0144574
YEAR_OF_DIAGNOSIS2013                                     0.8473002 0.7391486 0.9712764
YEAR_OF_DIAGNOSIS2014                                     0.8611758 0.7513337 0.9870766
YEAR_OF_DIAGNOSIS2015                                     0.8404924 0.7335528 0.9630220
SITE_TEXTC44.1 Eyelid                                     1.6622660 0.9467048 2.9186799
SITE_TEXTC44.2 External ear                               1.3303844 0.6858572 2.5805992
SITE_TEXTC44.3 Skin of ear and unspecified parts of face  1.3639397 0.9328283 1.9942917
SITE_TEXTC44.4 Skin of scalp and neck                     1.1202328 0.7514063 1.6700970
SITE_TEXTC44.5 Skin of trunk                              0.9114366 0.6317181 1.3150116
SITE_TEXTC44.6 Skin of upper limb and shoulder            0.9945949 0.6848986 1.4443291
SITE_TEXTC44.7 Skin of lower limb and hip                 0.9578226 0.6624640 1.3848664
SITE_TEXTC44.8 Overlapping lesion of skin                 1.1278267 0.7806372 1.6294290
SITE_TEXTC44.9 Skin, NOS                                  1.0599761 0.7366999 1.5251112
GRADE_F5                                                  1.2049156 0.6886015 2.1083624
GRADE_F6                                                  1.5811234 0.7970171 3.1366341
GRADE_F7                                                  1.8795002 0.6150310 5.7436471
GRADE_F8                                                  1.2347141 0.5088996 2.9957168

Metastasis at Time of Diagnosis

summary(fit_mets) # initial residual: 0.96598

Call:
glm(formula = mets_at_dx_F ~ FACILITY_TYPE_F + FACILITY_LOCATION_F + 
    CROWFLY + DX_STAGING_PROC_DAYS + AGE_F + SEX_F + RACE_F + 
    HISPANIC + INSURANCE_F + INCOME_F + EDUCATION_F + YEAR_OF_DIAGNOSIS + 
    GRADE_F, data = data %>% filter(GRADE_F != "NA/Unkown"))

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-0.13103  -0.00933  -0.00255   0.00291   0.99217  

Coefficients:
                                               Estimate Std. Error t value Pr(>|t|)    
(Intercept)                                  -3.224e-03  3.820e-02  -0.084   0.9327    
FACILITY_TYPE_FComprehensive Comm Ca Program  4.513e-03  9.667e-03   0.467   0.6407    
FACILITY_TYPE_FAcademic/Research Program      2.619e-03  9.110e-03   0.288   0.7737    
FACILITY_TYPE_FIntegrated Network Ca Program  6.297e-03  1.043e-02   0.603   0.5463    
FACILITY_LOCATION_FMiddle Atlantic           -1.305e-02  5.850e-03  -2.230   0.0258 *  
FACILITY_LOCATION_FSouth Atlantic            -9.410e-03  6.148e-03  -1.530   0.1260    
FACILITY_LOCATION_FEast North Central        -9.219e-03  6.309e-03  -1.461   0.1441    
FACILITY_LOCATION_FEast South Central        -1.452e-02  7.788e-03  -1.865   0.0623 .  
FACILITY_LOCATION_FWest North Central        -1.744e-02  7.081e-03  -2.463   0.0138 *  
FACILITY_LOCATION_FWest South Central        -6.061e-03  7.911e-03  -0.766   0.4437    
FACILITY_LOCATION_FMountain                  -1.013e-02  8.164e-03  -1.241   0.2147    
FACILITY_LOCATION_FPacific                   -1.531e-02  6.680e-03  -2.292   0.0220 *  
CROWFLY                                       5.544e-05  1.095e-05   5.061 4.47e-07 ***
DX_STAGING_PROC_DAYS                         -1.503e-06  1.435e-05  -0.105   0.9166    
AGE_F(54,64]                                 -3.133e-04  3.204e-03  -0.098   0.9221    
AGE_F(64,74]                                 -2.681e-03  4.399e-03  -0.609   0.5423    
AGE_F(74,100]                                 8.631e-03  4.991e-03   1.729   0.0839 .  
SEX_FFemale                                   2.313e-03  2.501e-03   0.925   0.3551    
RACE_FBlack                                   3.895e-03  3.524e-03   1.105   0.2692    
RACE_FOther/Unk                              -3.954e-03  7.138e-03  -0.554   0.5797    
RACE_FAsian                                   1.221e-05  7.492e-03   0.002   0.9987    
HISPANICYes                                  -2.645e-03  5.899e-03  -0.448   0.6539    
HISPANICUnknown                               3.950e-04  7.363e-03   0.054   0.9572    
INSURANCE_FNone                              -2.484e-03  7.782e-03  -0.319   0.7496    
INSURANCE_FMedicaid                           6.844e-03  6.398e-03   1.070   0.2848    
INSURANCE_FMedicare                           1.580e-03  3.961e-03   0.399   0.6899    
INSURANCE_FOther Government                  -1.353e-03  1.028e-02  -0.132   0.8953    
INSURANCE_FUnknown                           -6.550e-03  8.635e-03  -0.759   0.4482    
INCOME_F$38,000 - $47,999                     1.541e-03  4.505e-03   0.342   0.7323    
INCOME_F$48,000 - $62,999                     4.004e-03  4.806e-03   0.833   0.4049    
INCOME_F$63,000 +                             1.988e-04  5.347e-03   0.037   0.9703    
EDUCATION_F13 - 20.9%                         1.471e-03  4.392e-03   0.335   0.7377    
EDUCATION_F7 - 12.9%                         -1.634e-03  4.873e-03  -0.335   0.7375    
EDUCATION_FLess than 7%                       6.290e-03  5.545e-03   1.134   0.2568    
YEAR_OF_DIAGNOSIS2005                         3.891e-03  1.043e-02   0.373   0.7092    
YEAR_OF_DIAGNOSIS2006                         1.928e-03  1.110e-02   0.174   0.8621    
YEAR_OF_DIAGNOSIS2007                         1.895e-03  1.130e-02   0.168   0.8668    
YEAR_OF_DIAGNOSIS2008                         7.762e-05  1.040e-02   0.007   0.9940    
YEAR_OF_DIAGNOSIS2009                         2.546e-03  9.952e-03   0.256   0.7981    
YEAR_OF_DIAGNOSIS2010                         8.899e-03  8.728e-03   1.020   0.3080    
YEAR_OF_DIAGNOSIS2011                         3.304e-03  8.743e-03   0.378   0.7055    
YEAR_OF_DIAGNOSIS2012                         2.898e-03  8.714e-03   0.333   0.7395    
YEAR_OF_DIAGNOSIS2013                         1.671e-02  8.634e-03   1.936   0.0530 .  
YEAR_OF_DIAGNOSIS2014                         2.416e-03  8.622e-03   0.280   0.7793    
YEAR_OF_DIAGNOSIS2015                         1.017e-02  8.595e-03   1.183   0.2368    
GRADE_F5                                      7.732e-04  3.616e-02   0.021   0.9829    
GRADE_F6                                     -5.678e-03  4.425e-02  -0.128   0.8979    
GRADE_F7                                      2.019e-03  7.224e-02   0.028   0.9777    
GRADE_F8                                      4.685e-03  5.730e-02   0.082   0.9348    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for gaussian family taken to be 0.003826135)

    Null deviance: 9.9612  on 2578  degrees of freedom
Residual deviance: 9.6801  on 2530  degrees of freedom
  (1392 observations deleted due to missingness)
AIC: -6985

Number of Fisher Scoring iterations: 2
LS0tCnRpdGxlOiAiTXljb3NpcyBGdW5nb2lkZXMiCmF1dGhvcjogIlJhbWllIEZhdGh5IgpkYXRlOiAiMTIvMTYvMjAxOSIKb3V0cHV0OgogIGh0bWxfbm90ZWJvb2s6CiAgICB0aGVtZTogdW5pdGVkCiAgICB0b2M6IHllcwogICAgdG9jX2Zsb2F0OiB5ZXMKICBodG1sX2RvY3VtZW50OgogICAgdG9jOiB5ZXMKLS0tCgpgYGB7ciwgZWNobz1GQUxTRSwgd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRX0KCmxpYnJhcnkoImdncGxvdDIiKQpsaWJyYXJ5KCJkcGx5ciIpCmxpYnJhcnkoInRpZHlyIikKbGlicmFyeSgia25pdHIiKQpsaWJyYXJ5KCJ0YWJsZW9uZSIpCmxpYnJhcnkoImZvcmNhdHMiKQpsaWJyYXJ5KCJzdXJ2aXZhbCIpCmxpYnJhcnkoIm5wc3VydiIpCmxpYnJhcnkoImJyb29tIikKbGlicmFyeSgidGliYmxlIikKbGlicmFyeSgicmVhZHIiKQpsaWJyYXJ5KCJzdXJ2bWluZXIiKQpsaWJyYXJ5KCJzdHJpbmdyIikKCgprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobz1UUlVFLCB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPVRSVUUpCiclIWluJScgPC0gZnVuY3Rpb24oeCx5KSEoJyVpbiUnKHgseSkpCmBgYAoKYGBge3J9CnBfdGFibGUgPC0gZnVuY3Rpb24odGFiX2RhdGEsIC4uLikgewogIHRhYl9kYXRhXzIgPC0gZGVwYXJzZShzdWJzdGl0dXRlKHRhYl9kYXRhKSkKICAKICB0YWJsZV9wIDwtIGRvLmNhbGwoQ3JlYXRlVGFibGVPbmUsIAogICAgICAgICAgICAgICAgICAgICBsaXN0KGRhdGEgPSBhcy5uYW1lKHRhYl9kYXRhXzIpLCBpbmNsdWRlTkEgPSBUUlVFLCAuLi4pKQogIHRhYmxlX3Bfb3V0IDwtIHByaW50KHRhYmxlX3AsCiAgICAgICAgICAgICAgICAgICAgICAgc2hvd0FsbExldmVscyA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRUb2dnbGUgPSBGQUxTRSkKICBrYWJsZSh0YWJsZV9wX291dCwKICAgICAgICBhbGlnbiA9ICJjIikKfQpgYGAKCmBgYHtyfQp1bmlfdmFyIDwtIGZ1bmN0aW9uKHRlc3RfdmFyLCBkYXRhX2ltcCkgewoKICAgICAgICAgICAgICAgIAogICAgICAgIGNhdCgiX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyIpCiAgICAgICAgY2F0KCJcbiIpCiAgICAgICAgY2F0KCIgICBcbiMjIiwgdGVzdF92YXIpCiAgICAgICAgY2F0KCJcbiIpCiAgICAgICAgY2F0KCJfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fIikKICAgICAgICBjYXQoIlxuIikKCiAgICAgICAgCiAgICAgICAgZiA8LSBhcy5mb3JtdWxhKHBhc3RlKCJTdXJ2KERYX0xBU1RDT05UQUNUX0RFQVRIX01PTlRIUywgUFVGX1ZJVEFMX1NUQVRVUyA9PSAwKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzLm5hbWUodGVzdF92YXIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXAgPSAiIH4gIiApKQogICAgICAgIAogICAgICAgIGRhdGFfaW1wXzIgPC0gZGVwYXJzZShzdWJzdGl0dXRlKGRhdGFfaW1wKSkKCiAgICAgICAga21fZml0IDwtIGRvLmNhbGwoInN1cnZmaXQiLCBsaXN0KGZvcm11bGEgPSBmLCBkYXRhID0gYXMubmFtZShkYXRhX2ltcF8yKSkpCgogICAgICAgIHByaW50KGttX2ZpdCkKICAgICAgICBjYXQoIlxuIikKCiAgICAgICAgcHJpbnQoc3VtbWFyeShrbV9maXQsIHRpbWVzID0gYygxMiwgMjQsIDM2LCA0OCwgNjAsIDEyMCkpKQogICAgICAgIGNhdCgiXG4iKQoKCiAgICAgICAgY2F0KCJcbiIpCiAgICAgICAgY2F0KCJcbiIpCiAgICAgICAgY2F0KCIgICBcbiMjIFVuaXZhcmlhYmxlIENveCBQcm9wb3J0aW9uYWwgSGF6YXJkIE1vZGVsIGZvcjogIiwgdGVzdF92YXIpCiAgICAgICAgY2F0KCJcbiIpCiAgICAgICAgY2F0KCJcbiIpCgoKICAgICAgICBuX2xldmVscyA8LSBubGV2ZWxzKGRhdGFfaW1wW1t0ZXN0X3Zhcl1dKQoKICAgICAgICBpZihuX2xldmVscyA9PSAxKXsKICAgICAgICAgICAgICAgIHByaW50KCJPbmx5IG9uZSBsZXZlbCwgbm8gQ294IG1vZGVsIHBlcmZvcm1lZCIpCiAgICAgICAgICAgICAgICBjYXQoIlxuIikKCiAgICAgICAgfSBlbHNlIHsKCgogICAgICAgICAgICAgICAgY294X2ZpdCA8LSBkby5jYWxsKCJjb3hwaCIsIGxpc3QoZm9ybXVsYSA9IGYsIGRhdGEgPSBhcy5uYW1lKGRhdGFfaW1wXzIpKSkKCiAgICAgICAgICAgICAgICBwcmludChzdW1tYXJ5KGNveF9maXQpKQogICAgICAgICAgICAgICAgY2F0KCJcbiIpCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGRvLmNhbGwoImdnZm9yZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QobW9kZWwgPSBjb3hfZml0LCBkYXRhID0gYXMubmFtZShkYXRhX2ltcF8yKSkpCgoKICAgICAgICB9CgogICAgICAgIGNhdCgiXG4iKQogICAgICAgIGNhdCgiXG4iKQogICAgICAgIGNhdCgiXG4iKQogICAgICAgIGNhdCgiICAgXG4jIyBVbmFkanVzdGVkIEthcGxhbiBNZWllciBPdmVyYWxsIFN1cnZpdmFsIEN1cnZlIGZvcjogIiwgdGVzdF92YXIpCgoKICAgICAgICBwIDwtIGRvLmNhbGwoImdnc3VydnBsb3QiLAogICAgICAgICAgICAgICAgICAgICBsaXN0KGZpdCA9IGttX2ZpdCwgZGF0YSA9IGFzLm5hbWUoZGF0YV9pbXBfMiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZSA9ICJqY28iLCBjZW5zb3IgPSBGQUxTRSwgbGVnZW5kID0gInJpZ2h0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5ldHlwZSA9ICJzdHJhdGEiLCB4bGFiID0gIlRpbWUgKE1vbnRocykiKSkKCiAgICAgICAgcHJpbnQocCkKCn0KCmBgYAoKYGBge3IgY2h1bmsyLCBjYWNoZT1UUlVFLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCByZXN1bHRzPSdoaWRlJ30KY29sLndpZHRoIDwtIGMoMzcsIDEwLCAxLCAxLCAzLCAxLCAyLCAxLCAyLCAxLCAxLCAxLCAxLCAxLCAxLCA4LCAyLCAyLCAyLCA0LCA0LCAxLCA0LCAxLCAxLAogICAgICAgICAgICAgICAxLCAzLCAyLCAyLCA4LCAyLCA1LCA1LCA1LCA0LCA1LCA1LCA1LDQsIDIsIDEsIDIsIDEsIDMsIDEsIDEsIDEsIDEsIDEsIDEsIDMsCiAgICAgICAgICAgICAgIDMsIDMsIDMsIDMsIDMsIDMsIDMsIDMsIDMsIDMsIDMsIDMsIDMsIDMsIDMsIDMsIDMsIDMsIDMsIDMsIDMsIDMsIDMsIDMsIDYsIDgsCiAgICAgICAgICAgICAgIDgsIDgsIDIsIDEsIDEsIDEsIDEsIDgsIDEsIDEsIDgsIDEsIDEsIDIsIDIsIDUsIDIsIDUsIDMsIDEsIDMsIDEsIDgsIDgsIDIsIDgsCiAgICAgICAgICAgICAgIDIsIDgsIDIsIDIsIDEsIDgsIDEsIDEsIDEsIDEsIDEsIDgsIDEsIDIsIDIsIDIsIDIsIDIsIDEsIDEsIDEsIDIsIDEsIDMsIDEsIDEsCiAgICAgICAgICAgICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEpCgpjb2wubmFtZXMuYWJyIDwtIGMoIlBVRl9DQVNFX0lEIiwgIlBVRl9GQUNJTElUWV9JRCIsICJGQUNJTElUWV9UWVBFX0NEIiwgIkZBQ0lMSVRZX0xPQ0FUSU9OX0NEIiwKICAgICAgICAgICAgICAgICAgICJBR0UiLCAiU0VYIiwgIlJBQ0UiLCAiU1BBTklTSF9ISVNQQU5JQ19PUklHSU4iLCAiSU5TVVJBTkNFX1NUQVRVUyIsCiAgICAgICAgICAgICAgICAgICAiTUVEX0lOQ19RVUFSXzAwIiwgIk5PX0hTRF9RVUFSXzAwIiwgIlVSX0NEXzAzIiwgIk1FRF9JTkNfUVVBUl8xMiIsICJOT19IU0RfUVVBUl8xMiIsCiAgICAgICAgICAgICAgICAgICAiVVJfQ0RfMTMiLCAiQ1JPV0ZMWSIsICJDRENDX1RPVEFMX0JFU1QiLCAiU0VRVUVOQ0VfTlVNQkVSIiwgIkNMQVNTX09GX0NBU0UiLAogICAgICAgICAgICAgICAgICAgIllFQVJfT0ZfRElBR05PU0lTIiwgIlBSSU1BUllfU0lURSIsICJMQVRFUkFMSVRZIiwgIkhJU1RPTE9HWSIsICJCRUhBVklPUiIsICJHUkFERSIsCiAgICAgICAgICAgICAgICAgICAiRElBR05PU1RJQ19DT05GSVJNQVRJT04iLCAiVFVNT1JfU0laRSIsICJSRUdJT05BTF9OT0RFU19QT1NJVElWRSIsCiAgICAgICAgICAgICAgICAgICAiUkVHSU9OQUxfTk9ERVNfRVhBTUlORUQiLCAiRFhfU1RBR0lOR19QUk9DX0RBWVMiLCAiUlhfU1VNTV9EWFNUR19QUk9DIiwgIlROTV9DTElOX1QiLAogICAgICAgICAgICAgICAgICAgIlROTV9DTElOX04iLCAiVE5NX0NMSU5fTSIsICJUTk1fQ0xJTl9TVEFHRV9HUk9VUCIsICJUTk1fUEFUSF9UIiwgIlROTV9QQVRIX04iLCAiVE5NX1BBVEhfTSIsCiAgICAgICAgICAgICAgICAgICAiVE5NX1BBVEhfU1RBR0VfR1JPVVAiLCAiVE5NX0VESVRJT05fTlVNQkVSIiwgIkFOQUxZVElDX1NUQUdFX0dST1VQIiwgIkNTX01FVFNfQVRfRFgiLAogICAgICAgICAgICAgICAgICAgIkNTX01FVFNfRVZBTCIsICJDU19FWFRFTlNJT04iLCAiQ1NfVFVNT1JfU0laRUVYVF9FVkFMIiwgIkNTX01FVFNfRFhfQk9ORSIsICJDU19NRVRTX0RYX0JSQUlOIiwKICAgICAgICAgICAgICAgICAgICJDU19NRVRTX0RYX0xJVkVSIiwgIkNTX01FVFNfRFhfTFVORyIsICJMWU1QSF9WQVNDVUxBUl9JTlZBU0lPTiIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzEiLAogICAgICAgICAgICAgICAgICAgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMiIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzMiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl80IiwKICAgICAgICAgICAgICAgICAgICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzUiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl82IiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfNyIsCiAgICAgICAgICAgICAgICAgICAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl84IiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfOSIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzEwIiwKICAgICAgICAgICAgICAgICAgICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzExIiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMTIiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xMyIsCiAgICAgICAgICAgICAgICAgICAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xNCIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzE1IiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMTYiLAogICAgICAgICAgICAgICAgICAgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMTciLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xOCIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzE5IiwKICAgICAgICAgICAgICAgICAgICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzIwIiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMjEiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8yMiIsCiAgICAgICAgICAgICAgICAgICAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8yMyIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzI0IiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMjUiLAogICAgICAgICAgICAgICAgICAgIkNTX1ZFUlNJT05fTEFURVNUIiwgIkRYX1JYX1NUQVJURURfREFZUyIsICJEWF9TVVJHX1NUQVJURURfREFZUyIsICJEWF9ERUZTVVJHX1NUQVJURURfREFZUyIsCiAgICAgICAgICAgICAgICAgICAiUlhfU1VNTV9TVVJHX1BSSU1fU0lURSIsICJSWF9IT1NQX1NVUkdfQVBQUl8yMDEwIiwgIlJYX1NVTU1fU1VSR0lDQUxfTUFSR0lOUyIsCiAgICAgICAgICAgICAgICAgICAiUlhfU1VNTV9TQ09QRV9SRUdfTE5fU1VSIiwgIlJYX1NVTU1fU1VSR19PVEhfUkVHRElTIiwgIlNVUkdfRElTQ0hBUkdFX0RBWVMiLCAiUkVBRE1fSE9TUF8zMF9EQVlTIiwKICAgICAgICAgICAgICAgICAgICJSRUFTT05fRk9SX05PX1NVUkdFUlkiLCAiRFhfUkFEX1NUQVJURURfREFZUyIsICJSWF9TVU1NX1JBRElBVElPTiIsICJSQURfTE9DQVRJT05fT0ZfUlgiLAogICAgICAgICAgICAgICAgICAgIlJBRF9UUkVBVF9WT0wiLCAiUkFEX1JFR0lPTkFMX1JYX01PREFMSVRZIiwgIlJBRF9SRUdJT05BTF9ET1NFX0NHWSIsICJSQURfQk9PU1RfUlhfTU9EQUxJVFkiLAogICAgICAgICAgICAgICAgICAgIlJBRF9CT09TVF9ET1NFX0NHWSIsICJSQURfTlVNX1RSRUFUX1ZPTCIsICJSWF9TVU1NX1NVUkdSQURfU0VRIiwgIlJBRF9FTEFQU0VEX1JYX0RBWVMiLAogICAgICAgICAgICAgICAgICAgIlJFQVNPTl9GT1JfTk9fUkFESUFUSU9OIiwgIkRYX1NZU1RFTUlDX1NUQVJURURfREFZUyIsICJEWF9DSEVNT19TVEFSVEVEX0RBWVMiLCAiUlhfU1VNTV9DSEVNTyIsCiAgICAgICAgICAgICAgICAgICAiRFhfSE9STU9ORV9TVEFSVEVEX0RBWVMiLCAiUlhfU1VNTV9IT1JNT05FIiwgIkRYX0lNTVVOT19TVEFSVEVEX0RBWVMiLCAiUlhfU1VNTV9JTU1VTk9USEVSQVBZIiwKICAgICAgICAgICAgICAgICAgICJSWF9TVU1NX1RSTlNQTE5UX0VORE8iLCAiUlhfU1VNTV9TWVNURU1JQ19TVVJfU0VRIiwgIkRYX09USEVSX1NUQVJURURfREFZUyIsICJSWF9TVU1NX09USEVSIiwKICAgICAgICAgICAgICAgICAgICJQQUxMSUFUSVZFX0NBUkUiLCAiUlhfU1VNTV9UUkVBVE1FTlRfU1RBVFVTIiwgIlBVRl8zMF9EQVlfTU9SVF9DRCIsICJQVUZfOTBfREFZX01PUlRfQ0QiLAogICAgICAgICAgICAgICAgICAgIkRYX0xBU1RDT05UQUNUX0RFQVRIX01PTlRIUyIsICJQVUZfVklUQUxfU1RBVFVTIiwgIlJYX0hPU1BfU1VSR19QUklNX1NJVEUiLCAiUlhfSE9TUF9DSEVNTyIsCiAgICAgICAgICAgICAgICAgICAiUlhfSE9TUF9JTU1VTk9USEVSQVBZIiwgIlJYX0hPU1BfSE9STU9ORSIsICJSWF9IT1NQX09USEVSIiwgIlBVRl9NVUxUX1NPVVJDRSIsICJSRUZFUkVOQ0VfREFURV9GTEFHIiwKICAgICAgICAgICAgICAgICAgICJSWF9TVU1NX1NDT1BFX1JFR19MTl8yMDEyIiwgIlJYX0hPU1BfRFhTVEdfUFJPQyIsICJQQUxMSUFUSVZFX0NBUkVfSE9TUCIsICJUVU1PUl9TSVpFX1NVTU1BUlkiLAogICAgICAgICAgICAgICAgICAgIk1FVFNfQVRfRFhfT1RIRVIiLCAiTUVUU19BVF9EWF9ESVNUQU5UX0xOIiwgIk1FVFNfQVRfRFhfQk9ORSIsICJNRVRTX0FUX0RYX0JSQUlOIiwKICAgICAgICAgICAgICAgICAgICJNRVRTX0FUX0RYX0xJVkVSIiwgIk1FVFNfQVRfRFhfTFVORyIsICJOT19IU0RfUVVBUl8xNiIsICJNRURfSU5DX1FVQVJfMTYiLCAiTUVESUNBSURfRVhQTl9DT0RFIikKCgoKI1JlYWQgaW4gZGF0YSBmb3IgZWFjaCBzdWJzaXRlCmxpcCA8LSByZWFkX2Z3ZignTkNEQlBVRl9MaXAuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKbWVsYW5vbWEgPC0gcmVhZF9md2YoJ05DREJQVUZfTWVsYW5vbWEuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQogICAgICAgICAgICAgICAgICAgICAgIApza2luIDwtIHJlYWRfZndmKCdOQ0RCUFVGX090U2tpbi4zLjIwMTYuMC5kYXQnLCAKICAgICAgICAgICAgICAgICAgICAgICBmd2Zfd2lkdGhzKGNvbC53aWR0aCwgY29sX25hbWVzID0gY29sLm5hbWVzLmFiciksCiAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGVzID0gY29scyguZGVmYXVsdCA9IGNvbF9jaGFyYWN0ZXIoKSkpCgpob2RnZXh0ciA8LSByZWFkX2Z3ZignTkNEQlBVRl9Ib2RnRXh0ci4zLjIwMTYuMC5kYXQnLCAKICAgICAgICAgICAgICAgICAgICAgICBmd2Zfd2lkdGhzKGNvbC53aWR0aCwgY29sX25hbWVzID0gY29sLm5hbWVzLmFiciksCiAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGVzID0gY29scyguZGVmYXVsdCA9IGNvbF9jaGFyYWN0ZXIoKSkpCgpob2RnbmRhbCA8LSByZWFkX2Z3ZignTkNEQlBVRl9Ib2RnTmRhbC4zLjIwMTYuMC5kYXQnLCAKICAgICAgICAgICAgICAgICAgICAgICBmd2Zfd2lkdGhzKGNvbC53aWR0aCwgY29sX25hbWVzID0gY29sLm5hbWVzLmFiciksCiAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGVzID0gY29scyguZGVmYXVsdCA9IGNvbF9jaGFyYWN0ZXIoKSkpCgpOSExuZGFsIDwtIHJlYWRfZndmKCdOQ0RCUFVGX05ITE5kYWwuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKTkhMZXh0ciA8LSByZWFkX2Z3ZignTkNEQlBVRl9OSExFeHRyLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKCgpicmVhc3QgPC0gIHJlYWRfZndmKCdOQ0RCUFVGX0JyZWFzdC4zLjIwMTYuMC5kYXQnLCAKICAgICAgICAgICAgICAgICAgICAgICBmd2Zfd2lkdGhzKGNvbC53aWR0aCwgY29sX25hbWVzID0gY29sLm5hbWVzLmFiciksCiAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGVzID0gY29scyguZGVmYXVsdCA9IGNvbF9jaGFyYWN0ZXIoKSkpCgp2dWx2YSA8LSAgcmVhZF9md2YoJ05DREJQVUZfVnVsdmEuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKdmFnaW5hIDwtICByZWFkX2Z3ZignTkNEQlBVRl9WYWdpbmEuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKcGVuaXMgPC0gIHJlYWRfZndmKCdOQ0RCUFVGX1BlbmlzLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKCm90bGV1ayA8LSByZWFkX2Z3ZignTkNEQlBVRl9PdExldWsuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQogIApvdGhlcmFjdXRlbGV1ayAgPC0gcmVhZF9md2YoJ05DREJQVUZfT3RBY0xldWsuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQogIApBTEwgIDwtIHJlYWRfZndmKCdOQ0RCUFVGX0FMeW1MZXVrLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKCgojQ29tYmluZSBkYXRhIGZvciBhbGwgc3Vic2l0ZXMKZGF0IDwtIGJpbmRfcm93cyhsaXAsIG1lbGFub21hLCBza2luLCBob2RnZXh0ciwgaG9kZ25kYWwsIE5ITG5kYWwsIGJyZWFzdCwgCiAgICAgICAgICAgICAgICAgdnVsdmEsIHZhZ2luYSwgcGVuaXMsIE5ITGV4dHIsIG90bGV1aywgb3RoZXJhY3V0ZWxldWssIEFMTCkKCnJtKGxpcCwgbWVsYW5vbWEsIHNraW4sIGhvZGdleHRyLCBob2RnbmRhbCwgTkhMbmRhbCwgYnJlYXN0LCB2dWx2YSwgdmFnaW5hLCAKICAgcGVuaXMsIE5ITGV4dHIsIG90bGV1aywgb3RoZXJhY3V0ZWxldWssIEFMTCkKCnByaW1fc2l0ZV90ZXh0IDwtIGRhdGFfZnJhbWUoUFJJTUFSWV9TSVRFID0gYygKI05ITCBzaXRlcwoiQzAwMCIsIAoiQzAwMSIsIAoiQzAwMiIsIAoiQzAwMyIsIAoiQzAwNCIsIAoiQzAwNSIsIAoiQzAwNiIsIAoiQzAwOCIsCiJDMDA5IiwgCiJDMDE5IiwgCiJDMDIwIiwgCiJDMDIxIiwKIkMwMjIiLCAKIkMwMjMiLCAKIkMwMjQiLCAKIkMwMjgiLCAKIkMwMjkiLAoiQzAzMCIsCiJDMDMxIiwKIkMwMzkiLCAKIkMwNDAiLCAKIkMwNDEiLCAKIkMwNDgiLAoiQzA0OSIsIAoiQzA1MCIsIAoiQzA1MSIsIAoiQzA1MiIsIAoiQzA1OCIsIAoiQzA1OSIsCiJDMDYwIiwgCiJDMDYxIiwgCiJDMDYyIiwgCiJDMDY4IiwgCiJDMDY5IiwgCiJDMDc5IiwgIAoiQzA5OCIsCiJDMDk5IiwKIkMxMTEiLAoiQzE0MiIsCiJDMzAwIiwKIkMzNzkiLAoiQzQyMCIsCiJDNDIyIiwKIkM0MjQiLAoKI3NraW4vbWVsYW5vbWEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkM0NDAiLCAiQzQ0MSIsICJDNDQyIiwgIkM0NDMiLCAiQzQ0NCIsICJDNDQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkM0NDYiLCAiQzQ0NyIsICJDNDQ4IiwgIkM0NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2JyZWFzdCAtIG5pcHBsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQzUwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjdmFnaW5hL3Z1bHZhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDNTEwIiwgIkM1MTEiLCAiQzUxMiIsICJDNTE4IiwgIkM1MTkiLCAiQzUyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjcGVuaXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkM2MDAiLCAiQzYwMSIsICJDNjAyIiwgIkM2MDgiLCAiQzYwOSIsICJDNjM5IiwKCiJDNzcwIiwKIkM3NzEiLAoiQzc3MiIsCiJDNzczIiwKIkM3NzQiLAoiQzc3NSIsCiJDNzc4IiwKIkM3NzkiKSwKClNJVEVfVEVYVCA9IGMoCiJDMDAuMCBFeHRlcm5hbCBMaXA6IFVwcGVyIE5PUyIsCiJDMDAuMSBFeHRlcm5hbCBMaXA6IExvd2VyIE5PUyIsCiJDMDAuMiBFeHRlcm5hbCBMaXA6IE5PUyIsCiJDMDAuMyBMaXA6IFVwcGVyIE11Y29zYSIsCiJDMDAuNCBMaXA6IExvd2VyIE11Y29zYSIsCiJDMDAuNSBMaXA6IE11Y29zYSBOT1MiLAoiQzAwLjYgTGlwOiBDb21taXNzdXJlIiwKIkMwMC44IExpcDogT3ZlcmxhcHBpbmciLAoiQzAwLjkgTGlwIE5PUyIsCiJDMDEuOSBUb25ndWU6IEJhc2UgTk9TIiwKIkMwMi4wIFRvbmd1ZTogRG9yc2FsIE5PUyIsCiJDMDIuMSBUb25ndWU6IEJvcmRlciwgVGlwIiwKIkMwMi4yIFRvbmd1ZTogVmVudHJhbCBOT1MiLAoiQzAyLjMgVG9uZ3VlOiBBbnRlcmlvciBOT1MiLAoiQzAyLjQgTGluZ3VhbCBUb25zaWwiLAoiQzAyLjggVG9uZ3VlOiBPdmVybGFwcGluZyIsCiJDMDIuOSBUb25ndWU6IE5PUyIsCiJDMDMuMCBHdW06IFVwcGVyIiwKIkMwMy4xIEd1bTogTG93ZXIiLAoiQzAzLjkgR3VtIE5PUyIsCiJDMDQuMCBNb3V0aDogQW50ZXJpb3IgRmxvb3IiLAoiQzA0LjEgTW91dGg6IExhdGVyYWwgRmxvb3IiLAoiQzA0LjggTW91dGg6IE92ZXJsYXBwaW5nIEZsb29yIiwKIkMwNC45IEZsb29yIG9mIE1vdXRoIE5PUyIsCiJDMDUuMCBIYXJkIFBhbGF0ZSIsCiJDMDUuMSBTb2Z0IFBhbGF0ZSBOT1MiLAoiQzA1LjIgVXZ1bGEiLAoiQzA1LjggUGFsYXRlOiBPdmVybGFwcGluZyIsCiJDMDUuOSBQYWxhdGUgTk9TIiwKIkMwNi4wIENoZWVrIE11Y29zYSIsCiJDMDYuMSBNb3V0aDogVmVzdGlidWxlIiwKIkMwNi4yIFJldHJvbW9sYXIgQXJlYSIsCiJDMDYuOCBNb3V0aDogT3RoZXIgT3ZlcmxhcHBpbmciLAoiQzA2LjkgTW91dGggTk9TIiwKIkMwNy45IFBhcm90aWQgR2xhbmQiLAogICJDMDkuOCBUb25zaWw6IE92ZXJsYXBwaW5nIiwKICAiQzA5LjkgVG9uc2lsIE5PUyIsCiAgIkMxMS4xIE5hc29waGFyeW54OiBQb3N0ZXIgV2FsbCIsIAogICJDMTQuMiBXYWxkZXllciBSaW5nIiwKICAiQzMwLjAgTmFzYWwgQ2F2aXR5IiwKICAiQzM3LjkgVGh5bXVzIiwKIkM0Mi4wIEJsb29kIiwKICAiQzQyLjIgU3BsZWVuIiwKIkM0Mi40IEhlbWF0b3BvaWV0aWMgTk9TIiwKCiAjc2tpbgoiQzQ0LjAgU2tpbiBvZiBsaXAsIE5PUyIsCiJDNDQuMSBFeWVsaWQiLAoiQzQ0LjIgRXh0ZXJuYWwgZWFyIiwKIkM0NC4zIFNraW4gb2YgZWFyIGFuZCB1bnNwZWNpZmllZCBwYXJ0cyBvZiBmYWNlIiwKIkM0NC40IFNraW4gb2Ygc2NhbHAgYW5kIG5lY2siLAoiQzQ0LjUgU2tpbiBvZiB0cnVuayIsCiJDNDQuNiBTa2luIG9mIHVwcGVyIGxpbWIgYW5kIHNob3VsZGVyIiwKIkM0NC43IFNraW4gb2YgbG93ZXIgbGltYiBhbmQgaGlwIiwKIkM0NC44IE92ZXJsYXBwaW5nIGxlc2lvbiBvZiBza2luIiwKIkM0NC45IFNraW4sIE5PUyIsIAoKI2JyZWFzdAoiQzUwLjAgTmlwcGxlIiwKCiN2dWx2YS92YWdpbmEKIkM1MS4wIExhYml1bSBtYWp1cyIsCiJDNTEuMSBMYWJpdW0gbWludXMiLAoiQzUxLjIgQ2xpdG9yaXMiLAoiQzUxLjggT3ZlcmxhcHBpbmcgbGVzaW9uIG9mIHZ1bHZhIiwKIkM1MS45IFZ1bHZhLCBOT1MiLAoiQzUyLjkgVmFnaW5hLCBOT1MiLAoKI3BlbmlzCiJDNjAuMCBQcmVwdWNlIiwKIkM2MC4xIEdsYW5zIHBlbmlzIiwKIkM2MC4yIEJvZHkgb2YgcGVuaXMiLAoiQzYwLjggT3ZlcmxhcHBpbmcgbGVzaW9uIG9mIHBlbmlzIiwKIkM2MC45IFBlbmlzIiwKIkM2My4yIFNjcm90dW0sIE5PUyIsCgogICJDNzcuMCBMeW1waCBOb2RlczogSGVhZEZhY2VOZWNrIiwKICAiQzc3LjEgSW50cmF0aG9yYWNpYyBMeW1waCBOb2RlcyIsCiAgIkM3Ny4yIEludHJhLWFiZG9taW5hbCBMeW1waE5vZGVzIiwKICAiQzc3LjMgTHltcGggTm9kZXMgb2YgYXhpbGxhIG9yIGFybSAiLAogICJDNzcuNCBMeW1waCBOb2RlczogTGVnIiwKICAiQzc3LjUgUGVsdmljIEx5bXBoIE5vZGVzIiwKICAiQzc3LjggTHltcGggTm9kZXM6IG11bHRpcGxlIHJlZ2lvbiIsCiAgIkM3Ny45IEx5bXBoIE5vZGUgTk9TIikpCgoKZGF0IDwtIG1lcmdlKGRhdCwgcHJpbV9zaXRlX3RleHQsIGJ5ID0gIlBSSU1BUllfU0lURSIsIGFsbC54ID0gVFJVRSkgCgpybShwcmltX3NpdGVfdGV4dCkKCiMgY29udmVydCBudW1lcmljIHZhcmlhYmxlcyBmcm9tIGNoYXJhY3RlciBjbGFzcyB0byBudW1lcmljIGNsYXNzCm51bV92YXJzIDwtIGMoIkFHRSIsICJDUk9XRkxZIiwgIlRVTU9SX1NJWkUiLCAiRFhfU1RBR0lOR19QUk9DX0RBWVMiLCAiRFhfUlhfU1RBUlRFRF9EQVlTIiwgIkRYX1NVUkdfU1RBUlRFRF9EQVlTIiwKICAgICAgICAgICAgICAiRFhfREVGU1VSR19TVEFSVEVEX0RBWVMiLCAiU1VSR19ESVNDSEFSR0VfREFZUyIsICJEWF9SQURfU1RBUlRFRF9EQVlTIiwgICJSQURfUkVHSU9OQUxfRE9TRV9DR1kiLAogICAgICAgICAgICAgICJSQURfQk9PU1RfRE9TRV9DR1kiLCAiUkFEX0VMQVBTRURfUlhfREFZUyIsICJEWF9TWVNURU1JQ19TVEFSVEVEX0RBWVMiLCAiRFhfQ0hFTU9fU1RBUlRFRF9EQVlTIiwgCiAgICAgICAgICAgICAgIkRYX0hPUk1PTkVfU1RBUlRFRF9EQVlTIiwgIkRYX09USEVSX1NUQVJURURfREFZUyIsICJEWF9MQVNUQ09OVEFDVF9ERUFUSF9NT05USFMiLAogICAgICAgICAgICAgICJSQURfTlVNX1RSRUFUX1ZPTCIpCgpkYXRbbnVtX3ZhcnNdIDwtIGxhcHBseShkYXRbbnVtX3ZhcnNdLCBhcy5udW1lcmljKQoKCiMgY29udmVydCBmYWN0b3IgdmFyaWFibGVzIGZyb20gY2hhcmFjdGVyIGNsYXNzIHRvIGZhY3RvciBjbGFzcwp2YXJzIDwtIG5hbWVzKGRhdCkKZmFjdF92YXJzIDwtIHZhcnNbISh2YXJzICVpbiUgbnVtX3ZhcnMpXSAjIGJhc2ljYWxseSBhbGwgb2YgdGhlIG5vbi1udW1lcmljcwoKZGF0W2ZhY3RfdmFyc10gPC0gbGFwcGx5KGRhdFtmYWN0X3ZhcnNdLCBhcy5jaGFyYWN0ZXIpCmRhdFtmYWN0X3ZhcnNdIDwtIGxhcHBseShkYXRbZmFjdF92YXJzXSwgYXMuZmFjdG9yKQoKZGF0IDwtIGRhdCAlPiUKICAgICAgICBtdXRhdGUoRkFDSUxJVFlfVFlQRV9GID0gZmN0X3JlY29kZShGQUNJTElUWV9UWVBFX0NELAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDb21tdW5pdHkgQ2FuY2VyIFByb2dyYW0iID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDb21wcmVoZW5zaXZlIENvbW0gQ2EgUHJvZ3JhbSIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFjYWRlbWljL1Jlc2VhcmNoIFByb2dyYW0iID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJbnRlZ3JhdGVkIE5ldHdvcmsgQ2EgUHJvZ3JhbSIgPSAiNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk90aGVyIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShGQUNJTElUWV9MT0NBVElPTl9GID0gZmN0X3JlY29kZShGQUNJTElUWV9MT0NBVElPTl9DRCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTmV3IEVuZ2xhbmQiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNaWRkbGUgQXRsYW50aWMiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTb3V0aCBBdGxhbnRpYyIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVhc3QgTm9ydGggQ2VudHJhbCIgPSAiNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVhc3QgU291dGggQ2VudHJhbCIgPSAiNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIldlc3QgTm9ydGggQ2VudHJhbCIgPSAiNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIldlc3QgU291dGggQ2VudHJhbCIgPSAiNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1vdW50YWluIiA9ICI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUGFjaWZpYyIgPSAiOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm91dCBvZiBVUyIgPSAiMCIpKSAlPiUKICAgICAgICBtdXRhdGUoRkFDSUxJVFlfR0VPR1JBUEhZID0gZmN0X2NvbGxhcHNlKEZBQ0lMSVRZX0xPQ0FUSU9OX0NELAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vcnRoZWFzdCIgPSBjKCIxIiwgIjIiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTb3V0aCIgPSBjKCIzIiwgIjciKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNaWR3ZXN0IiA9IGMoIjQiLCAiNSIsICI2IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiV2VzdCIgPSBjKCI4IiwgIjkiKSkpICU+JQogICAgICAgIG11dGF0ZShBR0VfRiA9IGN1dChBR0UsIGMoMCwgNTQsIDY0LCA3NCwgMTAwKSkpICU+JQogICAgICAgIG11dGF0ZShBR0VfNDAgPSBjdXQoQUdFLCBjKDAsIDQwLCAxMDApKSkgJT4lCiAgICAgICAgbXV0YXRlKFNFWF9GID0gZmN0X3JlY29kZShTRVgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1hbGUiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGZW1hbGUiID0gIjIiKSkgJT4lCiAgICAgICAgbXV0YXRlKFJBQ0VfRiA9IGZjdF9jb2xsYXBzZShSQUNFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJXaGl0ZSIgPSBjKCIwMSIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJCbGFjayIgPSBjKCIwMiIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBc2lhbiIgPSBjKCIwNCIsICIwNSIsICIwNiIsICIwNyIsICIwOCIsICIxMCIsICIxMSIsICIxMiIsICIxMyIsICIxNCIsICIxNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjE2IiwgIjE3IiwgIjIwIiwgIjIxIiwgIjIyIiwgIjI1IiwgIjI2IiwgIjI3IiwgIjI4IiwgIjMwIiwgIjMxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMzIiLCAiOTYiLCAiOTciKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT3RoZXIvVW5rIiA9IGMoIjAzIiwgIjk4IiwgIjk5IikpKSAlPiUKICAgICAgICBtdXRhdGUoSElTUEFOSUMgPSBmY3RfY29sbGFwc2UoU1BBTklTSF9ISVNQQU5JQ19PUklHSU4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJZZXMiID0gYygiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyIgPSBjKCIwIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9IGMoIjkiKSkpICU+JQogICAgICAgIG11dGF0ZShJTlNVUkFOQ0VfRiA9IGZjdF9yZWNvZGUoSU5TVVJBTkNFX1NUQVRVUywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm9uZSIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlByaXZhdGUiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNZWRpY2FpZCIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1lZGljYXJlIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT3RoZXIgR292ZXJubWVudCIgPSAiNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKElOU1VSQU5DRV9GID0gZmN0X3JlbGV2ZWwoSU5TVVJBTkNFX0YsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlByaXZhdGUiKSkgJT4lCiAgICAgICAgbXV0YXRlKElOQ09NRV9GID0gZmN0X3JlY29kZShNRURfSU5DX1FVQVJfMTIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkxlc3MgdGhhbiAkMzgsMDAwIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJDM4LDAwMCAtICQ0Nyw5OTkiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIkNDgsMDAwIC0gJDYyLDk5OSIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiQ2MywwMDAgKyIgPSAiNCIpKSAlPiUKICAgICAgICBtdXRhdGUoRURVQ0FUSU9OX0YgPSBmY3RfcmVjb2RlKE5PX0hTRF9RVUFSXzEyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjIxJSBvciBtb3JlIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxMyAtIDIwLjklIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI3IC0gMTIuOSUiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkxlc3MgdGhhbiA3JSIgPSAiNCIpKSAlPiUKICAgICAgICBtdXRhdGUoVV9SX0YgPSBmY3RfY29sbGFwc2UoVVJfQ0RfMTMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNZXRybyIgPSBjKCIxIiwgIjIiLCAiMyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVXJiYW4iID0gYygiNCIsICI1IiwgIjYiLCAiNyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUnVyYWwiID0gYygiOCIsICI5IikpKSAlPiUKICAgICAgICBtdXRhdGUoQ0xBU1NfT0ZfQ0FTRV9GID0gZmN0X2NvbGxhcHNlKENMQVNTX09GX0NBU0UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbGxfUGFydF9QcmltID0gYygiMTAiLCAiMTEiLCAiMTIiLCAiMTMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjE0IiwgIjIwIiwgIjIxIiwgIjIyIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdGhlcl9GYWNpbGl0eSA9IGMoIjAwIikpKSAlPiUKICAgICAgICBtdXRhdGUoR1JBREVfRiA9IGZjdF9yZWNvZGUoR1JBREUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR3IgSTogV2VsbCBEaWZmIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHciBJSTogTW9kIERpZmYiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkdyIElJSTogUG9vciBEaWZmIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHciBJVjogVW5kaWZmL0FuYXBsYXN0aWMiID0gIjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5BL1Vua293biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoSElTVE9MT0dZX0YgPSBmY3RfaW5mcmVxKEhJU1RPTE9HWSkpICU+JQogICAgICAgIG11dGF0ZShISVNUT0xPR1lfRiA9IGZhY3RvcihISVNUT0xPR1lfRikpICU+JQogICAgICAgIG11dGF0ZShISVNUT0xPR1lfRl9MSU0gPSBmY3RfbHVtcChISVNUT0xPR1lfRiwgcHJvcCA9IDAuMDUpKSAlPiUKICAgICAgICBtdXRhdGUoVE5NX0NMSU5fVCA9IGZjdF9yZWNvZGUoVE5NX0NMSU5fVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5fQSIgPSAiODgiKSkgJT4lCiAgICAgICAgbXV0YXRlKFROTV9DTElOX1QgPSBmY3RfcmVsZXZlbChUTk1fQ0xJTl9ULAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjEiKSkgJT4lCiAgICAgICAgbXV0YXRlKFROTV9DTElOX04gPSBmY3RfcmVjb2RlKFROTV9DTElOX04sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOX0EiID0gIjg4IikpICU+JQogICAgICAgIG11dGF0ZShUTk1fQ0xJTl9NID0gZmN0X3JlY29kZShUTk1fQ0xJTl9NLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTl9BIiA9ICI4OCIpKSAlPiUKICAgICAgICBtdXRhdGUoVE5NX1BBVEhfVCA9IGZjdF9yZWNvZGUoVE5NX1BBVEhfVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5fQSIgPSAiODgiKSkgJT4lCiAgICAgICAgbXV0YXRlKFROTV9QQVRIX1QgPSBmY3RfcmVsZXZlbChUTk1fUEFUSF9ULAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjEiKSkgJT4lCiAgICAgICAgbXV0YXRlKFROTV9QQVRIX04gPSBmY3RfcmVjb2RlKFROTV9QQVRIX04sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOX0EiID0gIjg4IikpICU+JQogICAgICAgIG11dGF0ZShUTk1fUEFUSF9NID0gZmN0X3JlY29kZShUTk1fUEFUSF9NLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTl9BIiA9ICI4OCIpKSAlPiUKICAgICAgICBtdXRhdGUoVE5NX0NMSU5fU1RBR0VfR1JPVVAgPSBmY3RfcmVjb2RlKFROTV9DTElOX1NUQUdFX0dST1VQLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTl9BIiA9ICI4OCIpKSAlPiUKICAgICAgICBtdXRhdGUoVE5NX1BBVEhfU1RBR0VfR1JPVVAgPSBmY3RfcmVjb2RlKFROTV9QQVRIX1NUQUdFX0dST1VQLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTl9BIiA9ICI4OCIpKSAlPiUKICAgICAgICBtdXRhdGUoTUFSR0lOUyA9IGZjdF9yZWNvZGUoUlhfU1VNTV9TVVJHSUNBTF9NQVJHSU5TLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gUmVzaWR1YWwiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmVzaWR1YWwsIE5PUyIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNaWNyb3Njb3BpYyBSZXNpZCIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNYWNyb3Njb3BpYyBSZXNpZCIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOb3QgZXZhbHVhYmxlIiA9ICI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIHN1cmciID0gIjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoTUFSR0lOU19ZTiA9IGZjdF9jb2xsYXBzZShSWF9TVU1NX1NVUkdJQ0FMX01BUkdJTlMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlllcyIgPSBjKCIxIiwgIjIiLCAiMyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyIgPSBjKCIwIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIHN1cmcvVW5rL05BIiA9IGMoIjciLCAiOCIsICI5IikpKSAlPiUKICAgICAgICBtdXRhdGUoUkVBRE1fSE9TUF8zMF9EQVlTX0YgPSBmY3RfcmVjb2RlKFJFQURNX0hPU1BfMzBfREFZUywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOb19TdXJnX29yX05vX1JlYWRtaXQiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVucGxhbl9SZWFkbWl0X1NhbWUiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlBsYW5fUmVhZG1pdF9TYW1lIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQbGFuVW5wbGFuX1NhbWUiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjQiKSkgJT4lCiAgICAgICAgbXV0YXRlKFJYX1NVTU1fUkFESUFUSU9OX0YgPSBmY3RfcmVjb2RlKFJYX1NVTU1fUkFESUFUSU9OLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm9uZSIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJCZWFtIFJhZGlhdGlvbiIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWRpb2FjdGl2ZSBJbXBsYW50cyIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWRpb2lzb3RvcGVzIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkJlYW0gKyBJbXAgb3IgSXNvdG9wZXMiID0gIjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkaWF0aW9uLCBOT1MiID0gIjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoUFVGXzMwX0RBWV9NT1JUX0NEX0YgPSBmY3RfcmVjb2RlKFBVRl8zMF9EQVlfTU9SVF9DRCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBbGl2ZV8zMCIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRGVhZF8zMCIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoUFVGXzkwX0RBWV9NT1JUX0NEX0YgPSBmY3RfcmVjb2RlKFBVRl85MF9EQVlfTU9SVF9DRCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBbGl2ZV85MCIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRGVhZF85MCIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoTFlNUEhfVkFTQ1VMQVJfSU5WQVNJT05fRiA9IGZjdF9yZWNvZGUoTFlNUEhfVkFTQ1VMQVJfSU5WQVNJT04sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOZWdfTHltcGhWYXNjX0ludiIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQb3NfTHVtcGhWYXNjX0ludiIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOX0EiID0gIjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoUlhfSE9TUF9TVVJHX0FQUFJfMjAxMF9GID0gZmN0X3JlY29kZShSWF9IT1NQX1NVUkdfQVBQUl8yMDEwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOb19TdXJnIiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUm9ib3RfQXNzaXN0IiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUm9ib3RfdG9fT3BlbiIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVuZG9fTGFwIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRW5kb19MYXBfdG9fT3BlbiIgPSAiNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk9wZW5fVW5rbm93biIgPSAiNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKEFsbCA9ICJBbGwiKSAlPiUKICAgICAgICBtdXRhdGUoQWxsID0gZmFjdG9yKEFsbCkpICU+JQogICAgICAgIG11dGF0ZShSRUFTT05fRk9SX05PX1NVUkdFUllfRiA9IGZjdF9yZWNvZGUoUkVBU09OX0ZPUl9OT19TVVJHRVJZLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgcGVyZm9ybWVkIiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIG5vdCByZWNvbW1lbmRlZCIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gc3VyZyBkdWUgdG8gcHQgZmFjdG9ycyIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gc3VyZywgcHQgZGllZCIgPSAiNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyByZWMsIG5vdCBkb25lIiA9ICI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIHJlYywgcHQgcmVmdXNlZCIgPSAiNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyByZWMsIHVuayBpZiBkb25lIiA9ICI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShTVVJHRVJZX1lOID0gaWZlbHNlKFJFQVNPTl9GT1JfTk9fU1VSR0VSWSA9PSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlllcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJFQVNPTl9GT1JfTk9fU1VSR0VSWSA9PSAiOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVa24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8iKSkpICU+JQogICAgICAgIG11dGF0ZShTVVJHX1RGID0gY2FzZV93aGVuKFNVUkdFUllfWU4gPT0gIlllcyIgfiBUUlVFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNVUkdFUllfWU4gPT0gIk5vIiB+IEZBTFNFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUgfiBOQSkpICAlPiUKICAgICAgICBtdXRhdGUoUkVBU09OX0ZPUl9OT19SQURJQVRJT05fRiA9IGZjdF9yZWNvZGUoUkVBU09OX0ZPUl9OT19SQURJQVRJT04sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIHBlcmZvcm1lZCIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIG5vdCByZWNvbW1lbmRlZCIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gUmFkIGR1ZSB0byBwdCBmYWN0b3JzIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBSYWQsIHB0IGRpZWQiID0gIjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCByZWMsIG5vdCBkb25lIiA9ICI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgcmVjLCBwdCByZWZ1c2VkIiA9ICI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgcmVjLCB1bmsgaWYgZG9uZSIgPSAiOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoUkFESUFUSU9OX1lOID0gaWZlbHNlKFJFQVNPTl9GT1JfTk9fUkFESUFUSU9OID09ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiWWVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUkVBU09OX0ZPUl9OT19SQURJQVRJT04gPT0gIjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIikpKSAlPiUKICAgICAgICBtdXRhdGUoU1VSR1JBRF9TRVFfRiA9IGZjdF9yZWNvZGUoUlhfU1VNTV9TVVJHUkFEX1NFUSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vbmUgb3IgU3VyZyBvciBSYWQiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIGJlZm9yZSBTdXJnIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgYmVmb3JlIFJhZCIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgYmVmb3JlIGFuZCBhZnRlciBTdXJnIiA9ICI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkludHJhb3AgUmFkIiA9ICI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkludHJhb3AgUmFkIHBsdXMgb3RoZXIiID0gIjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoU1VSR19SQURfU0VRID0gaWZlbHNlKFNVUkdFUllfWU4gPT0gIlllcyIgJiBSWF9TVU1NX1NVUkdSQURfU0VRID09ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIEFsb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSQURJQVRJT05fWU4gPT0gIlllcyIgJiBSWF9TVU1NX1NVUkdSQURfU0VRID09ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIEFsb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoU1VSR0VSWV9ZTiA9PSAiTm8iICYgUkFESUFUSU9OX1lOID09ICJObyIgJiBSWF9TVU1NX1NVUkdSQURfU0VRID09ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIFRyZWF0bWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSWF9TVU1NX1NVUkdSQURfU0VRID09ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgdGhlbiBTdXJnIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSWF9TVU1NX1NVUkdSQURfU0VRID09ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyB0aGVuIFJhZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIGJlZm9yZSBhbmQgYWZ0ZXIgU3VyZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPdGhlciIpKSkpKSkpICU+JQogICAgICAgIG11dGF0ZShTVVJHX1JBRF9TRVEgPSBmY3RfcmVsZXZlbChTVVJHX1JBRF9TRVEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIEFsb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgdGhlbiBSYWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIEFsb25lIikpICU+JQogICAgICAgIG11dGF0ZShDSEVNT19ZTiA9IGZjdF9jb2xsYXBzZShSWF9TVU1NX0NIRU1PLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8iID0gYygiMDAiLCAiODIiLCAiODUiLCAiODYiLCAiODciKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlllcyIgPSBjKCIwMSIsICIwMiIsICIwMyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVWtuIiA9IGMoIjg4IiwgIjk5IikpKSAlPiUKICAgICAgICBtdXRhdGUoSU1NVU5PX1lOID0gZmN0X2NvbGxhcHNlKFJYX1NVTU1fSU1NVU5PVEhFUkFQWSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIiA9IGMoIjAwIiwgIjgyIiwgIjg1IiwgIjg2IiwgIjg3IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJZZXMiID0gYygiMDEiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVrbiIgPSBjKCI4OCIsICI5OSIpKSkgJT4lCiAgICAgICAgbXV0YXRlKFNVUkdfUkFEX1NFUV9DID0gaWZlbHNlKFNVUkdFUllfWU4gPT0gIlllcyIgJiBSWF9TVU1NX1NVUkdSQURfU0VRID09ICIwIiAmIENIRU1PX1lOID09ICJObyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZywgTm8gcmFkLCBObyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUkFESUFUSU9OX1lOID09ICJZZXMiICYgUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMCIgJiBDSEVNT19ZTiA9PSAiTm8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQsIE5vIFN1cmcsIE5vIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoU1VSR0VSWV9ZTiA9PSAiTm8iICYgUkFESUFUSU9OX1lOID09ICJObyIgJiBSWF9TVU1NX1NVUkdSQURfU0VRID09ICIwIiAmIENIRU1PX1lOID09ICJObyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBTdXJnLCBObyBSYWQsIE5vIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjIiICYgQ0hFTU9fWU4gPT0gIk5vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgdGhlbiBTdXJnLCBObyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMyIgJiBDSEVNT19ZTiA9PSAiTm8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIHRoZW4gUmFkLCBObyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjQiICYgQ0hFTU9fWU4gPT0gIk5vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCBiZWZvcmUgYW5kIGFmdGVyIFN1cmcsIE5vIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoU1VSR0VSWV9ZTiA9PSAiWWVzIiAmIFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjAiICYgQ0hFTU9fWU4gPT0gIlllcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnLCBObyByYWQsIFllcyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSQURJQVRJT05fWU4gPT0gIlllcyIgJiBSWF9TVU1NX1NVUkdSQURfU0VRID09ICIwIiAmIENIRU1PX1lOID09ICJZZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCwgTm8gU3VyZywgWWVzIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShTVVJHRVJZX1lOID09ICJObyIgJiBSQURJQVRJT05fWU4gPT0gIk5vIiAmIFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjAiICYgQ0hFTU9fWU4gPT0gIlllcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIFN1cmcsIE5vIFJhZCwgWWVzIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMiIgJiBDSEVNT19ZTiA9PSAiWWVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCB0aGVuIFN1cmcsIFllcyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSWF9TVU1NX1NVUkdSQURfU0VRID09ICIzIiAmIENIRU1PX1lOID09ICJZZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgdGhlbiBSYWQsIFllcyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiNCIgJiBDSEVNT19ZTiA9PSAiWWVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIGJlZm9yZSBhbmQgYWZ0ZXIgU3VyZywgWWVzIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT3RoZXIiKSkpKSkpKSkpKSkpKSAlPiUKICAgICAgICBtdXRhdGUoU1VSR19SQURfU0VRX0MgPSBmY3RfaW5mcmVxKFNVUkdfUkFEX1NFUV9DKSkgJT4lCiAgICAgICAgbXV0YXRlKFRfU0laRSA9IGFzLm51bWVyaWMoVFVNT1JfU0laRSkpICU+JQogICAgICAgIG11dGF0ZShUX1NJWkUgPSBpZmVsc2UoVF9TSVpFID09IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIFR1bW9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoVF9TSVpFID4gMCAmIFRfU0laRSA8IDEwIHwgVF9TSVpFID09IDk5MSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjwgMSBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShUX1NJWkUgPj0gMTAgJiBUX1NJWkUgPCAyMCB8IFRfU0laRSA9PSA5OTIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMS0yIGNtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShUX1NJWkUgPj0gMjAgJiBUX1NJWkUgPCAzMCB8IFRfU0laRSA9PSA5OTMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjItMyBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFRfU0laRSA+PSAzMCAmIFRfU0laRSA8IDQwIHwgVF9TSVpFID09IDk5NCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjMtNCBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShUX1NJWkUgPj0gNDAgJiBUX1NJWkUgPCA1MCB8IFRfU0laRSA9PSA5OTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiNC01IGNtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShUX1NJWkUgPj0gNTAgJiBUX1NJWkUgPCA2MCB8IFRfU0laRSA9PSA5OTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjUtNiBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFRfU0laRSA+PSA2MCAmIFRfU0laRSA8PSA5ODcgfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRfU0laRSA9PSA5ODAgfCBUX1NJWkUgPT0gOTg5IHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUX1NJWkUgPT0gOTk3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI+NiBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFRfU0laRSA9PSA5ODggfCBUX1NJWkUgPT0gOTk5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTkFfdW5rIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1pY3Jvc2NvcGljIGZvY3VzIikpKSkpKSkpKSkgJT4lCiAgICAgICAgbXV0YXRlKFRfU0laRSA9IGZhY3RvcihUX1NJWkUpKSAlPiUKICAgICAgICBtdXRhdGUoVF9TSVpFID0gZmN0X3JlbGV2ZWwoVF9TSVpFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIFR1bW9yIiwgIk1pY3Jvc2NvcGljIGZvY3VzIiwgIjwgMSBjbSIsICIxLTIgY20iLCAiMi0zIGNtIiwgIjMtNCBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI0LTUgY20iLCAiNS02IGNtIiwgIj42IGNtIiwgIk5BX3VuayIpKSAlPiUKICAgICAgICBtdXRhdGUobWV0c19hdF9keCA9IGNhc2Vfd2hlbihDU19NRVRTX0RYX0xVTkcgPT0gIjEiIH4gIkx1bmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENTX01FVFNfRFhfQk9ORSA9PSAiMSIgfiAiQm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1NfTUVUU19EWF9CUkFJTiA9PSAiMSIgfiAiQnJhaW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENTX01FVFNfRFhfTElWRVIgPT0gIjEiIH4gIkxpdmVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFIH4gIk5vbmUvT3RoZXIvVW5rL05BIikpICU+JQogICAgICAgIG11dGF0ZShNRURJQ0FJRF9FWFBOX0NPREUgPSBmY3RfcmVjb2RlKE1FRElDQUlEX0VYUE5fQ09ERSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm9uLUV4cGFuc2lvbiBTdGF0ZSIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkphbiAyMDE0IEV4cGFuc2lvbiBTdGF0ZXMiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFYXJseSBFeHBhbnNpb24gU3RhdGVzICgyMDEwLTEzKSIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkxhdGUgRXhwYW5zaW9uIFN0YXRlcyAoPiBKYW4gMjAxNCkiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXBwcmVzc2VkIGZvciBBZ2VzIDAgLSAzOSIgPSAiOSIpKSAgJT4lCiAgICAgICAgbXV0YXRlKEVYUE5fR1JPVVAgPSAgY2FzZV93aGVuKE1FRElDQUlEX0VYUE5fQ09ERSAgJWluJSBjKCJKYW4gMjAxNCBFeHBhbnNpb24gU3RhdGVzIikgJiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBZRUFSX09GX0RJQUdOT1NJUyAlaW4lIGMoIjIwMTQiLCAiMjAxNSIpIH4gIlBvc3QtRXhwYW5zaW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FRElDQUlEX0VYUE5fQ09ERSAgJWluJSBjKCJKYW4gMjAxNCBFeHBhbnNpb24gU3RhdGVzIikgJiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBZRUFSX09GX0RJQUdOT1NJUyAlaW4lIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjKCIyMDA0IiwgIjIwMDUiLCAiMjAwNiIsICIyMDA3IiwgIjIwMDgiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMjAwOSIsICIyMDEwIiwgIjIwMTEiLCAiMjAxMiIsICIyMDEzIikgfiAiUHJlLUV4cGFuc2lvbiIsCiAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRURJQ0FJRF9FWFBOX0NPREUgICVpbiUgYygiRWFybHkgRXhwYW5zaW9uIFN0YXRlcyAoMjAxMC0xMykiKSAmIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFlFQVJfT0ZfRElBR05PU0lTICVpbiUgYygiMjAxMCIsICIyMDExIiwgIjIwMTIiLCAiMjAxMyIsICIyMDE0IiwgIjIwMTUiKSB+ICJQb3N0LUV4cGFuc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVESUNBSURfRVhQTl9DT0RFICAlaW4lIGMoIkVhcmx5IEV4cGFuc2lvbiBTdGF0ZXMgKDIwMTAtMTMpIikgJiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBZRUFSX09GX0RJQUdOT1NJUyAlaW4lIGMoIjIwMDQiLCAiMjAwNSIsICIyMDA2IiwgIjIwMDciLCAiMjAwOCIsICIyMDA5IikgfiAiUHJlLUV4cGFuc2lvbiIsCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRURJQ0FJRF9FWFBOX0NPREUgJWluJSBjKCJOb24tRXhwYW5zaW9uIFN0YXRlIikgfiAiUHJlLUV4cGFuc2lvbiIsCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRURJQ0FJRF9FWFBOX0NPREUgJWluJSBjKCJMYXRlIEV4cGFuc2lvbiBTdGF0ZXMgKD4gSmFuIDIwMTQpIikgfiAiUHJlLUV4cGFuc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FRElDQUlEX0VYUE5fQ09ERSAlaW4lIGMoIkxhdGUgRXhwYW5zaW9uIFN0YXRlcyAoPiBKYW4gMjAxNCkiKSAmIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWUVBUl9PRl9ESUFHTk9TSVMgJWluJSBjKCIyMDE0IiwgIjIwMTUiKSB+ICJFeGNsdWRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FRElDQUlEX0VYUE5fQ09ERSA9PSAiU3VwcHJlc3NlZCBmb3IgQWdlcyAwIC0gMzkiIH4gIkV4Y2x1ZGUiKSkgJT4lCiAgCiAgbXV0YXRlKHByZV8yMDE0ID0gWUVBUl9PRl9ESUFHTk9TSVMgJWluJSBjKCIyMDA0IiwgIjIwMDUiLCAiMjAwNiIsICIyMDA3IiwgIjIwMDgiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMjAwOSIsICIyMDEwIiwgIjIwMTEiLCAiMjAxMiIsICIyMDEzIikpICU+JQogIAogIG11dGF0ZShtZXRzX2F0X2R4X0YgPSBpZmVsc2UobWV0c19hdF9keCA9PSAiTm9uZS9PdGhlci9VbmsvTkEiLCBGQUxTRSwgVFJVRSkpICU+JSAKICAKICBtdXRhdGUoVHhfWU4gPSBpZmVsc2UoU1VSR19SQURfU0VRID09ICJObyBUcmVhdG1lbnQiICYgQ0hFTU9fWU4gPT0gIk5vIiAmIAogICAgICAgICAgICAgICAgICAgICAgICAgIElNTVVOT19ZTiA9PSAiTm8iLCBGQUxTRSwgCiAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShDSEVNT19ZTiA9PSAiVWtuIiwgTkEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSkpKQoKZmFjdF92YXJzXzIgPC0gYygiRkFDSUxJVFlfVFlQRV9GIiwgIkZBQ0lMSVRZX0xPQ0FUSU9OX0YiLCAiQUdFX0YiLCAiU0VYX0YiLCAiUkFDRV9GIiwKICAgICAgICAgICAgICAgICAiSElTUEFOSUMiLCAiSU5TVVJBTkNFX0YiLCAiSU5DT01FX0YiLCAiRURVQ0FUSU9OX0YiLCAiVV9SX0YiLAogICAgICAgICAgICAgICAgICJDRENDX1RPVEFMX0JFU1QiLCAiQ0xBU1NfT0ZfQ0FTRV9GIiwgIllFQVJfT0ZfRElBR05PU0lTIiwgIlBSSU1BUllfU0lURSIsICJISVNUT0xPR1kiLAogICAgICAgICAgICAgICAgICJCRUhBVklPUiIsICJHUkFERV9GIiwgIlROTV9DTElOX1QiLCAiVE5NX0NMSU5fTiIsICJUTk1fQ0xJTl9NIiwKICAgICAgICAgICAgICAgICAiVE5NX0NMSU5fU1RBR0VfR1JPVVAiLCAiVE5NX1BBVEhfVCIsICJUTk1fUEFUSF9OIiwgIlROTV9QQVRIX00iLCAiVE5NX1BBVEhfU1RBR0VfR1JPVVAiLAogICAgICAgICAgICAgICAgICJNQVJHSU5TIiwgIlJFQURNX0hPU1BfMzBfREFZU19GIiwgIlJYX1NVTU1fUkFESUFUSU9OX0YiLCAiUFVGXzMwX0RBWV9NT1JUX0NEX0YiLAogICAgICAgICAgICAgICAgICJQVUZfOTBfREFZX01PUlRfQ0RfRiIsICJMWU1QSF9WQVNDVUxBUl9JTlZBU0lPTl9GIiwgIlJYX0hPU1BfU1VSR19BUFBSXzIwMTBfRiIsICJtZXRzX2F0X2R4IikKCgpkYXQgPC0gZGF0ICU+JQogICAgICAgIG11dGF0ZV9hdChmYWN0X3ZhcnNfMiwgZnVucyhmYWN0b3IoLikpKQoKYGBgCgoKIyBFeHRyYWN0IERhdGEgb2YgSW50ZXJlc3QKCmBgYHtyfQoKCiMgTm9uLUhvZGdraW4gTHltcGhvbWEgU2l0ZXMKc2l0ZV9jb2RlIDwtIGMoIAojYWRkaXRpb25hbCBzaXRlcwoKICNsaXAgIAogICJDMDAwIiwgIkMwMDEiLCAiQzAwMiIsICJDMDAzIiwgIkMwMDQiLCAiQzAwNSIsIkMwMDYiLCAiQzAwOCIsIkMwMDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAojc2tpbi9tZWxhbm9tYQogICJDNDQwIiwgIkM0NDEiLCAiQzQ0MiIsICJDNDQzIiwgIkM0NDQiLCAiQzQ0NSIsICJDNDQ2IiwgIkM0NDciLCAiQzQ0OCIsICJDNDQ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAjYnJlYXN0IC0gbmlwcGxlCiAgIkM1MDAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKI3ZhZ2luYS92dWx2YQogICJDNTEwIiwgIkM1MTEiLCAiQzUxMiIsICJDNTE4IiwgIkM1MTkiLCAiQzUyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAojcGVuaXMKICJDNjAwIiwgIkM2MDEiLCAiQzYwMiIsICJDNjA4IiwgIkM2MDkiLCAiQzYzOSIpCgojbXljb3NpcyBmdW5nb2lkZXMsIFNlemFyeSBzeW5kcm9tZSwgc3ViY3V0YW5lb3VzIHBhbm5pY3VsaXRpcy1saWtlIFQtY2VsbCBseW1waG9tYSwKI2N1dGFuZW91cyBULWNlbGwgbHltcGhvbWEsIE5PUywgcHJpbWFyeSBjdXRhbmVvdXMgQ0QzMCtULWNlbGwgbHltcGhvbWEsIAojTksvVC1jZWxsIGx5bXBob21hLCBwcmltYXJ5IGN1dGFuZW91cyBnYW1tYS1kZWx0YSBULWNlbGwgbHltcGhvbWEsIAojYW5kIGJsYXN0aWMgTksgY2VsbCBseW1waG9tYSwgcmVzcGVjdGl2ZWx5CgojIjk3MDAiID0gTXljb3NpcyBGdW5nb2lkZXMKICAjIHBhZ2V0b2lkIHJldGljdWxvc2lzCgojIjk3MDEiID0gU2V6YXJ5IFN5bmRyb21lCiAgIyBTZXphcnkgZGlzZWFzZQoKIyI5NzA4IiA9IFN1YmN1dGFuZW91cyBwYW5uaWN1bGl0aXNsaWtlIFQtY2VsbCBseW1waG9tYQoKIyI5NzA5IiA9IEN1dGFuZW91cyBULWNlbGwgbHltcGhvbWEsIE5PUyAKICAjIEN1dGFuZW91cyBseW1waG9tYSwgTk9TIChDNDQuXyk7IFByaW1hcnkgY3V0YW5lb3VzIENENC1wb3NpdGl2ZSBzbWFsbC9tZWRpdW0KICAjIFQtY2VsbCBseW1waG9tYTsgUHJpbWFyeSBjdXRhbmVvdXMgQ0Q4LXBvc2l0aXZlIGFnZ3Jlc3NpdmUKICAjIGVwaWRlcm1vdHJvcGljIGN5dG90b3hpYyBULWNlbGwgbHltcGhvbWEKCiMiOTcxOCIgPSBQcmltYXJ5IGN1dGFuZW91cyBDRDMwKyBULWNlbGwgbHltcGhvcHJvbGlmZXJhdGl2ZSBkaXNvcmRlciAKICAjIEx5bXBob21hdG9pZCBwYXB1bG9zaXMgKEM0NC5fKSwgUHJpbWFyeSBjdXRhbmVvdXMgYW5hcGxhc3RpYyBsYXJnZSBjZWxsLAogICMgbHltcGhvbWEgKEM0NC5fKSwgUHJpbWFyeSBjdXRhbmVvdXMgQ0QzMCsgbGFyZ2UgVC1jZWxsIGx5bXBob21hIChDNDQuXykKCgojIjk3MjYiID0gUHJpbWFyeSBjdXRhbmVvdXMgZ2FtbWEtZGVsdGEgVC1jZWxsIGx5bXBob21hCgpoaXN0b19jb2RlIDwtIGMoIjk3MDAiKQoKYmVoYXZpb3JfY29kZSA8LSBjKCIzIikKCmRhdGEgPC0gZGF0ICU+JQogICAgICAgIGZpbHRlcihCRUhBVklPUiAlaW4lIGJlaGF2aW9yX2NvZGUpICU+JQogICAgICAgIGZpbHRlcihQUklNQVJZX1NJVEUgJWluJSBzaXRlX2NvZGUpICU+JQogICAgICAgIGZpbHRlcihISVNUT0xPR1kgJWluJSBoaXN0b19jb2RlKSAlPiUKICAgICAgICAjZmlsdGVyKEFHRSA+PSAxOCkgJT4lCiAgICAgICAgZmlsdGVyKGlzLm5hKFBVRl9WSVRBTF9TVEFUVVMpID09IEZBTFNFKSAlPiUKICAgICAgICBmaWx0ZXIoaXMubmEoRFhfTEFTVENPTlRBQ1RfREVBVEhfTU9OVEhTKSA9PSBGQUxTRSkgICU+JQogICAgICAgIGZpbHRlcihTRVFVRU5DRV9OVU1CRVIgPT0gIjAwIikgCgojZmlsZV9wYXRoIDwtIGMoIi9Vc2Vycy9iZWFzdGF0bGlmZS9Hb29nbGUgRHJpdmUvUGVubi9SZXNlYXJjaC9CYXJiaWVyaS9OQ0RCIikKI3NhdmUoZGF0YSwKIyAgICAgIGZpbGUgPSBwYXN0ZTAoZmlsZV9wYXRoLCAiL0NUQ0xfZGF0YS5SZGEiKSkKYGBgCgpgYGB7ciBsb2FkRGF0YX0KI2xvYWQoIk1GX2RhdGEuUmRhIikKYGBgCgoKRGF0YSBpbmNsdWRpbmcgc2tpbiB0dW1vcnMgd2FzIG9idGFpbmVkIGZyb20gdGhlIE5DQkQgb24gT2N0b2JlciA3LCAyMDE5LiBDYXNlcyB0aGF0IHdlcmUgaW5jbHVkZWQgaW4gdGhpcyBhbmFseXNpcyB3ZXJlIHRob3NlIHdpdGg6CgoxLiBTaXRlIGNvZGVzOiBgciBzaXRlX2NvZGVgCjIuIEhpc3RvbG9neSBjb2RlczogYHIgaGlzdG9fY29kZWAKMy4gQmVoYXZpb3IgY29kZXM6IGByIGJlaGF2aW9yX2NvZGVgCgoKUGF0aWVudHMgd2VyZSBleGNsdWRlZCBpZiB0aGV5IGRpZG4ndCBoYXZlIHZhbHVlcyBmb3IgZWl0aGVyIGZvbGxvdyB1cCBvciB2aXRhbCBzdGF0dXMuCgpQYXRpZW50cyB3ZXJlIGV4Y2x1ZGVkIGlmIHRoZXkgaGFkIHN1cmdlcnkgdG8gYSBkaXN0YW50IHNpdGUgdXNpbmcgYFJYX1NVTU1fU1VSR19PVEhfUkVHRElTYC4gVGhpcyB3YXMgZG9uZSB0byBhdm9pZCBjb25mb3VuZGluZyBvZiBkaWZmZXJlbnQgc3VyZ2ljYWwgcHJvY2VkdXJlcy4gV2UgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbiBzdXJnZXJ5IGF0IHRoZSBwcmltYXJ5IHNpdGUuIFRoZXNlIGRpc3RhbnQgc2l0ZSBzdXJnZXJpZXMgd2VyZSBiZWluZyBjb3VudGVkIGluIHRoZSBzdXJnZXJ5L3JhZGlhdGlvbiBzZXF1ZW5jZSBhbmQgdGh1cyB0byBzaW1wbGlmeSBhbmFseXNpcyB0aGV5IHdlcmUgcmVtb3ZlZC4gCgpgYGB7cn0KCmRhdGEgJT4lCiAgICAgICAgQ3JlYXRlVGFibGVPbmUoZGF0YSA9IC4sCiAgICAgICAgICAgICAgICAgICAgIHZhcnMgPSBjKCJSWF9TVU1NX1NVUkdfT1RIX1JFR0RJUyIpLAogICAgICAgICAgICAgICAgICAgICBpbmNsdWRlTkEgPSBUUlVFKSAlPiUKICAgICAgICBwcmludCguLAogICAgICAgICAgICAgIHNob3dBbGxMZXZlbHMgPSBUUlVFKQoKZGF0YSA8LSBkYXRhICU+JQogICAgICAgIGZpbHRlcihSWF9TVU1NX1NVUkdfT1RIX1JFR0RJUyA9PSAiMCIpIApgYGAKCgpSYWNlIHdhcyBncm91cGVkIGFzIHdoaXRlLCBibGFjaywgYXNpYW4sIG90aGVyL3Vua25vd24KU3RhZ2Ugd2FzIGdyb3VwZWQgaW50byAwLCBJLCBJSSwgSUlJLCBJViwgTkFfVW5rbm93biwgc3RhZ2UgMCB3YXMgcmVtb3ZlZApXaGV0aGVyIHN1cmdlcnkgd2FzIHBlcmZvcm1lZCB3YXMgYmFzZWQgb24gdGhlIGBSRUFTT05fRk9SX05PX1NVUkdFUllgIHZhcmlhYmxlLiBUaGUgYFNVUkdFUllfWU5gIHZhcmlhYmxlIHdhcyBjbGFzc2lmaWVkIGFzICdZZXMnLCAnTm8nLCBvciAnVW5rbm93bicuCgoKV2hldGhlciByYWRpYXRpb24gd2FzIHBlcmZvcm1lZCB3YXMgYmFzZWQgb24gdGhlIGBSRUFTT05fRk9SX05PX1JBRElBVElPTmAgdmFyaWFibGUuIFRoZSBgUkFESUFUSU9OX1lOYCB2YXJpYWJsZSB3YXMgY2xhc3NpZmllZCBhcyAnWWVzJywgJ05vJywgb3IgJ1Vua25vd24nLgoKCgojVGFibGUgb2YgdmFyaWFibGVzIGZvciBhbGwgY2FzZXM6CgpgYGB7cn0KZGF0YSA8LSBkYXRhICU+JSBkcm9wbGV2ZWxzKCkKCnBfdGFibGUoZGF0YSwKICAgICAgICB2YXJzID0gYygiRkFDSUxJVFlfVFlQRV9GIiwgIkZBQ0lMSVRZX0xPQ0FUSU9OX0YiLCAiRkFDSUxJVFlfR0VPR1JBUEhZIiwgICJBR0UiLCAiQUdFX0YiLCAiQUdFXzQwIiwKICAgICAgICAgICAgICAgICAiU0VYX0YiLCAiUkFDRV9GIiwgIkhJU1BBTklDIiwgIklOU1VSQU5DRV9GIiwgCiAgICAgICAgICAgICAgICAgIklOQ09NRV9GIiwgIkVEVUNBVElPTl9GIiwgIlVfUl9GIiwgIkNST1dGTFkiLCAiQ0RDQ19UT1RBTF9CRVNUIiwKICAgICAgICAgICAgICAgICAiU0lURV9URVhUIiwgICJISVNUT0xPR1kiLCAiQkVIQVZJT1IiLCAiR1JBREVfRiIsIAogICAgICAgICAgICAgICAgICJEWF9TVEFHSU5HX1BST0NfREFZUyIsICJUTk1fQ0xJTl9UIiwgIlROTV9DTElOX04iLCAiVE5NX0NMSU5fTSIsCiAgICAgICAgICAgICAgICAgIlROTV9DTElOX1NUQUdFX0dST1VQIiwgIlROTV9QQVRIX1QiLCAiVE5NX1BBVEhfTiIsICJUTk1fUEFUSF9NIiwKICAgICAgICAgICAgICAgICAiVE5NX1BBVEhfU1RBR0VfR1JPVVAiLCAiRFhfUlhfU1RBUlRFRF9EQVlTIiwgIkRYX1NVUkdfU1RBUlRFRF9EQVlTIiwKICAgICAgICAgICAgICAgICAiRFhfREVGU1VSR19TVEFSVEVEX0RBWVMiLCAiTUFSR0lOUyIsICJNQVJHSU5TX1lOIiwgIlNVUkdfRElTQ0hBUkdFX0RBWVMiLAogICAgICAgICAgICAgICAgICJSRUFETV9IT1NQXzMwX0RBWVNfRiIsICJSWF9TVU1NX1JBRElBVElPTl9GIiwgIlBVRl8zMF9EQVlfTU9SVF9DRF9GIiwKICAgICAgICAgICAgICAgICAiUFVGXzkwX0RBWV9NT1JUX0NEX0YiLCAiRFhfTEFTVENPTlRBQ1RfREVBVEhfTU9OVEhTIiwgCiAgICAgICAgICAgICAgICAgIkxZTVBIX1ZBU0NVTEFSX0lOVkFTSU9OX0YiLCAiUlhfSE9TUF9TVVJHX0FQUFJfMjAxMF9GIiwgIlNVUkdfUkFEX1NFUSIsCiAgICAgICAgICAgICAgICAgIlNVUkdfUkFEX1NFUV9DIiwgIlNVUkdFUllfWU4iLCAiUkFESUFUSU9OX1lOIiwgIkNIRU1PX1lOIiwgIklNTVVOT19ZTiIsICJUeF9ZTiIsICJtZXRzX2F0X2R4IiwKICAgICAgICAgICAgICAgICAiTUVESUNBSURfRVhQTl9DT0RFIiwgIkVYUE5fR1JPVVAiLCAiWUVBUl9PRl9ESUFHTk9TSVMiKSkKYGBgCgoKCiNLYXBsYW4gTWVpZXIgQW5hbHlzaXMKCgojI0FsbAoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiQWxsIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjRmFjaWxpdHkgVHlwZQpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJGQUNJTElUWV9UWVBFX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNGYWNpbGl0eSBMb2NhdGlvbgoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiRkFDSUxJVFlfTE9DQVRJT05fRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0ZhY2lsaXR5IEdlb2dyYXBoeQoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiRkFDSUxJVFlfR0VPR1JBUEhZIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjQWdlIEdyb3VwCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJBR0VfRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0FnZSBHcm91cApgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJBR0VfNDAiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNHZW5kZXIKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlNFWF9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjUkFDRV9GCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJSQUNFX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNIaXNwYW5pYwoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiSElTUEFOSUMiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNJbnN1cmFuY2UgU3RhdHVzCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJJTlNVUkFOQ0VfRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgoKCiMjSW5jb21lCgpgYGB7cn0KY2xhc3MoZGF0YSRJTkNPTUVfRikKdW5pX3Zhcih0ZXN0X3ZhciA9ICJJTkNPTUVfRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0VkdWNhdGlvbgoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiRURVQ0FUSU9OX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNVcmJhbi9SdXJhbAoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiVV9SX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNDbGFzcyAodHJlYXRtZW50IGF0IHBlcmZvcm1pbmcgZmFjaWxpdHkpCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJDTEFTU19PRl9DQVNFX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNZZWFyCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJZRUFSX09GX0RJQUdOT1NJUyIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1ByaW1hcnkgU2l0ZQoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiU0lURV9URVhUIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCgojI0hpc3RvbG9neQoKYGBge3J9CiN1bmlfdmFyKHRlc3RfdmFyID0gIkhJU1RPTE9HWV9GX0xJTSIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0JlaGF2aW9yCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJCRUhBVklPUiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0dyYWRlCgpgYGB7cn0KI3VuaV92YXIodGVzdF92YXIgPSAiR1JBREVfRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0NsaW5pY2FsIFQgU3RhZ2UKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlROTV9DTElOX1QiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNDbGluaWNhbCBOIFN0YWdlCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJUTk1fQ0xJTl9OIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjQ2xpbmljYWwgTSBTdGFnZQoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiVE5NX0NMSU5fTSIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0NsaW5pY2FsIFN0YWdlIEdyb3VwCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJUTk1fQ0xJTl9TVEFHRV9HUk9VUCIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1BhdGhvbG9naWMgVCBTdGFnZQoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiVE5NX1BBVEhfVCIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1BhdGhvbG9naWMgTiBTdGFnZQoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiVE5NX1BBVEhfTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1BhdGhvbG9naWMgTSBTdGFnZQoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiVE5NX1BBVEhfTSIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1BhdGhvbG9naWMgU3RhZ2UgR3JvdXAKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlROTV9QQVRIX1NUQUdFX0dST1VQIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjTWFyZ2lucwpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJNQVJHSU5TIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjTWFyZ2lucyBZZXMvTm8KYGBge3J9CiN1bmlfdmFyKHRlc3RfdmFyID0gIk1BUkdJTlNfWU4iLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyMzMCBEYXkgUmVhZG1pc3Npb24KCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlJFQURNX0hPU1BfMzBfREFZU19GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjUmFkaWF0aW9uIFR5cGUKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlJYX1NVTU1fUkFESUFUSU9OX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKCiMjTHltcGhvdmFzY3VsYXIgSW52YXNpb24KCmBgYHtyfQojdW5pX3Zhcih0ZXN0X3ZhciA9ICJMWU1QSF9WQVNDVUxBUl9JTlZBU0lPTl9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjRW5kb3Njb3BpYy9Sb2JvdGljCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJSWF9IT1NQX1NVUkdfQVBQUl8yMDEwX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNTdXJnZXJ5IFJhZGlhdGlvbiBTZXF1ZW5jZSAKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlNVUkdfUkFEX1NFUSIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1N1cmdlcnkgWWVzL05vCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJTVVJHRVJZX1lOIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjUmFkaWF0aW9uIFllcy9ObwoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiUkFESUFUSU9OX1lOIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjQ2hlbW8gWWVzL05vCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJDSEVNT19ZTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgoKIyNUcmVhdG1lbnQgWWVzL05vCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlR4X1lOIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjTWV0YXN0YXNlcyBhdCBEeApgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJtZXRzX2F0X2R4X0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNUdW1vciBTaXplCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJUX1NJWkUiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKI1R1bW9yIHNwZWNpZmljIFZhcmlhYmxlcwoKCiMjI05vZGUgU2l6ZQoKCiNDb3ggUHJvcG9ydGlvbmFsIEhhemFyZCBSYXRpbwoKIyNNb2RlbCAjMQoKIyMjRnVsbCBhbmFseXNpcwoKYGBge3J9Cm1vZGVsX29uZSA8LSBjb3hwaChTdXJ2KERYX0xBU1RDT05UQUNUX0RFQVRIX01PTlRIUywgUFVGX1ZJVEFMX1NUQVRVUyA9PSAwKQogICAgICAgICAgICAgICAgICAgICB+IFNVUkdfUkFEX1NFUSArIElOU1VSQU5DRV9GICsgQUdFICsgU0VYX0YgKyBSQUNFX0YgKyBJTkNPTUVfRiArIFVfUl9GICsKICAgICAgICAgICAgICAgICAgICAgIEZBQ0lMSVRZX1RZUEVfRiArIEZBQ0lMSVRZX0xPQ0FUSU9OX0YgKyBFRFVDQVRJT05fRiwKICAgICAgICAgICAgICAgICAgICAgZGF0YSA9IGRhdGEpCm1vZGVsX29uZSAlPiUgc3VtbWFyeSgpCgoKYGBgCgojIyNTdW1tYXJ5IG9mIE1vZGVsCgpgYGB7cn0KbW9kZWxfb25lICU+JQogICAgICAgIHRpZHkoLiwgZXhwb25lbnRpYXRlID0gVFJVRSkgJT4lCiAgICAgICAgc2VsZWN0KHRlcm0sIGVzdGltYXRlLCBjb25mLmxvdywgY29uZi5oaWdoLCBwLnZhbHVlKSAlPiUKICAgICAgICByZW5hbWUoVmFyaWFibGUgPSB0ZXJtLAogICAgICAgICAgICAgICBIYXphcmRfUmF0aW8gPSBlc3RpbWF0ZSkgJT4lCiAgICAgICAgdGJsX2RmICU+JQogICAgICAgIHByaW50KG4gPSBucm93KC4pKQoKYGBgCgojIyBMaW5lYXIgUmVncmVzc2lvbiAKYGBge3J9Cgojb25seSBpbmNsdWRlIHJvd3Mgd2l0aCBrbm93biB0cmVhdG1lbnQgaW5mb3JtYXRpb24sIG4gPSA4MgpkYXRhMiA8LSBkYXRhICU+JSBmaWx0ZXIoU1VSR0VSWV9ZTiAhPSAiVWtuIiAmIFJBRElBVElPTl9ZTiAhPSAiVWtuIgogICAgICAgICAgICAgICAgICAgICAgICAgJiBDSEVNT19ZTiAhPSAiVWtuIikKCiMgaW5jbHVkZSBvbmx5IHZhcmlhYmxlcyB3aXRoIGRhdGEgYXZhaWxhYmxlIGZvciBhdCBsZWFzdCA3NSUgb2YgY2FzZXMgCiMgZnJvbSB0aGUgZm9sbG93aW5nIHNldCBvZiB2YXJpYWJsZXMgb2YgaW50ZXJlc3Q6CgojIyBGQUNJTElUWV9UWVBFX0YgKyBGQUNJTElUWV9HRU9HUkFQSFkgKyBDUk9XRkxZICsgCiMjICAgICAgICAgICAgICAgICBEWF9TVEFHSU5HX1BST0NfREFZUyArIAojIyAgICAgICAgICAgICAgICAgQ0hFTU9fWU4gKyBSQURJQVRJT05fWU4gKyBTVVJHRVJZX1lOICsgSU1NVU5PX1lOICsKIyMgICAgICAgICAgICAgICAgIEFHRSArIFNFWF9GICsgUkFDRV9GICsgSElTUEFOSUMgKyBJTlNVUkFOQ0VfRiArIElOQ09NRV9GICsgCiMjICAgICAgICAgICAgICAgICBFRFVDQVRJT05fRiArIFlFQVJfT0ZfRElBR05PU0lTICsgU0lURV9URVhUICsgR1JBREVfRgoKbGVuZ3RoKHdoaWNoKGlzLm5hKGRhdGEyJFNJVEVfVEVYVCkpKSAvIG5yb3coZGF0YTIpCgojIGV4Y2x1ZGVkIHRoZSBmb2xsb3dpbmcgaW4gdGhpcyBhbmFseXNpcyBkdWUgdG8gbWlzc2luZyBkYXRhOiAKIyAgbm9uZQoKZml0X3N1cnYgPC0gbG0oRFhfTEFTVENPTlRBQ1RfREVBVEhfTU9OVEhTIH4KICAgICAgICAgICAgICAgICBGQUNJTElUWV9UWVBFX0YgKyBGQUNJTElUWV9MT0NBVElPTl9GICsgQ1JPV0ZMWSArIAogICAgICAgICAgICAgICAgIERYX1NUQUdJTkdfUFJPQ19EQVlTICsgCiAgICAgICAgICAgICAgICAgQ0hFTU9fWU4gKyBSQURJQVRJT05fWU4gKyBTVVJHRVJZX1lOICsKICAgICAgICAgICAgICAgICBBR0VfRiArIFNFWF9GICsgUkFDRV9GICsgSU5TVVJBTkNFX0YgKyAKICAgICAgICAgICAgICAgICBZRUFSX09GX0RJQUdOT1NJUyArIFNJVEVfVEVYVCArIEdSQURFX0YsCiAgIGRhdGEgPSBkYXRhMikKCnN1bW1hcnkoZml0X3N1cnYpICMgUl4yID0wLjM2MDIsIHAgPCAyLjJlLTE2IAoKIyB0aGUgZm9sbG93aW5nIHZhcmlhYmxlcyB3ZXJlIGV4Y2x1ZGVkIHRvIAojIGltcHJvdmUgdGhlIFItc3F1YXJlZCBvZiB0aGUgcmVncmVzc2lvbjoKIyBFRFVDQVRJT05fRiwgSU5DT01FX0YsIElNTVVOT19ZTiwgU1VSR0VSWV9ZTiwgSElTUEFOSUMsCmBgYAoKIyBQcmVkaWN0aW9uIExvZ2lzdGljIFJlZ3Jlc3Npb24gTW9kZWxzCgojIyBTdXJnZXJ5CmBgYHtyfQoKbm9fVWtucyA8LSBkYXRhICU+JQogIGZpbHRlcihTVVJHRVJZX1lOICE9ICJVa24iKSAlPiUgCiAgZHJvcGxldmVscygpICU+JSAKICBtdXRhdGUoU1VSR0VSWV9ZTiA9IGFzLmxvZ2ljYWwoU1VSR0VSWV9ZTikpCgpmaXRfc3VyZyA8LSBnbG0oU1VSR19URiB+IEFHRV9GICsgUFJJTUFSWV9TSVRFICsgR1JBREVfRiArIFNFWF9GICsgUkFDRV9GICsgSU5TVVJBTkNFX0YgKwogICAgICAgICAgICAgICAgICAgICAgRkFDSUxJVFlfVFlQRV9GICsgRkFDSUxJVFlfTE9DQVRJT05fRiArIEVEVUNBVElPTl9GICsgRVhQTl9HUk9VUCArIFlFQVJfT0ZfRElBR05PU0lTLAogICBkYXRhID0gbm9fVWtucykKCnN1bW1hcnkoZml0X3N1cmcpCgpleHAoY2JpbmQoIk9kZHMgcmF0aW8iID0gY29lZihmaXRfc3VyZyksIGNvbmZpbnQuZGVmYXVsdChmaXRfc3VyZywgbGV2ZWwgPSAwLjk1KSkpCmBgYAoKIyMgQ2hlbW8KYGBge3J9Cm5vX1VrbnMgPC0gZGF0YSAlPiUKICBmaWx0ZXIoQ0hFTU9fWU4gIT0gIlVrbiIpICU+JSAKICBkcm9wbGV2ZWxzKCkgJT4lIAogIG11dGF0ZShDSEVNT19ZTiA9IGZjdF9yZWNvZGUoQ0hFTU9fWU4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMCIgPSAiTm8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjEiID0gIlllcyIpKSAlPiUgCiAgbXV0YXRlKENIRU1PX1lOID0gYXMuaW50ZWdlcihDSEVNT19ZTikpICU+JSAKICBtdXRhdGUoQ0hFTU9fWU4gPSBDSEVNT19ZTiAtIDEpCgpmaXRfY2hlbW8gPC0gZ2xtKENIRU1PX1lOIH4gQUdFX0YgKyBQUklNQVJZX1NJVEUgKyBHUkFERV9GICsgU0VYX0YgKyBSQUNFX0YgKyBJTlNVUkFOQ0VfRiArCiAgICAgICAgICAgICAgICAgICAgICBGQUNJTElUWV9UWVBFX0YgKyBGQUNJTElUWV9MT0NBVElPTl9GICsgRURVQ0FUSU9OX0YgKyBFWFBOX0dST1VQICsgWUVBUl9PRl9ESUFHTk9TSVMsCiAgIGRhdGEgPSBub19Va25zKQoKc3VtbWFyeShmaXRfY2hlbW8pCgpleHAoY2JpbmQoIk9kZHMgcmF0aW8iID0gY29lZihmaXRfY2hlbW8pLCBjb25maW50LmRlZmF1bHQoZml0X2NoZW1vLCBsZXZlbCA9IDAuOTUpKSkKYGBgCgojIyBSYWRpYXRpb24KYGBge3J9Cm5vX1VrbnMgPC0gZGF0YSAlPiUKICBmaWx0ZXIoUkFESUFUSU9OX1lOICE9ICJVa24iKSAlPiUKICBkcm9wbGV2ZWxzKCkgJT4lCiAgbXV0YXRlKFJBRElBVElPTl9ZTiA9IGZjdF9yZWNvZGUoUkFESUFUSU9OX1lOLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjAiID0gIk5vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxIiA9ICJZZXMiKSklPiUgCiAgbXV0YXRlKFJBRElBVElPTl9ZTiA9IGFzLmludGVnZXIoUkFESUFUSU9OX1lOKSkgJT4lIAogIG11dGF0ZShSQURJQVRJT05fWU4gPSBSQURJQVRJT05fWU4gLSAxKQoKCmZpdF9yYWRzIDwtIGdsbShSQURJQVRJT05fWU4gfiBBR0VfRiArIFBSSU1BUllfU0lURSArIEdSQURFX0YgKyBTRVhfRiArIFJBQ0VfRiArIElOU1VSQU5DRV9GICsKICAgICAgICAgICAgICAgICAgICAgIEZBQ0lMSVRZX1RZUEVfRiArIEZBQ0lMSVRZX0xPQ0FUSU9OX0YgKyBFRFVDQVRJT05fRiArIEVYUE5fR1JPVVAgKyBZRUFSX09GX0RJQUdOT1NJUywKICAgZGF0YSA9IG5vX1VrbnMpCgoKc3VtbWFyeShmaXRfcmFkcykKCmV4cChjYmluZCgiT2RkcyByYXRpbyIgPSBjb2VmKGZpdF9yYWRzKSwgY29uZmludC5kZWZhdWx0KGZpdF9yYWRzLCBsZXZlbCA9IDAuOTUpKSkKYGBgCgojIyBJbW11bm90aGVyYXB5CmBgYHtyfQpub19Va25zIDwtIGRhdGEgJT4lCiAgZmlsdGVyKElNTVVOT19ZTiAhPSAiVWtuIikgJT4lCiAgZHJvcGxldmVscygpICU+JQogIG11dGF0ZShJTU1VTk9fWU4gPSBmY3RfcmVjb2RlKElNTVVOT19ZTiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwIiA9ICJObyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMSIgPSAiWWVzIikpJT4lIAogIG11dGF0ZShJTU1VTk9fWU4gPSBhcy5pbnRlZ2VyKElNTVVOT19ZTikpICU+JSAKICBtdXRhdGUoSU1NVU5PX1lOID0gSU1NVU5PX1lOIC0gMSkKCgpmaXRfaW1tdW5vIDwtIGdsbShJTU1VTk9fWU4gfiBBR0VfRiArIFBSSU1BUllfU0lURSArIEdSQURFX0YgKyBTRVhfRiArIFJBQ0VfRiArIElOU1VSQU5DRV9GICsKICAgICAgICAgICAgICAgICAgICAgIEZBQ0lMSVRZX1RZUEVfRiArIEZBQ0lMSVRZX0xPQ0FUSU9OX0YgKyBFRFVDQVRJT05fRiArIEVYUE5fR1JPVVAgKyBZRUFSX09GX0RJQUdOT1NJUywKICAgZGF0YSA9IG5vX1VrbnMpCgoKc3VtbWFyeShmaXRfaW1tdW5vKQoKZXhwKGNiaW5kKCJPZGRzIHJhdGlvIiA9IGNvZWYoZml0X2ltbXVubyksIGNvbmZpbnQuZGVmYXVsdChmaXRfaW1tdW5vLCBsZXZlbCA9IDAuOTUpKSkKYGBgCgojIyBBbnkgVHJlYXRtZW50CmBgYHtyfQoKIyBiZWNhdXNlIEdSQURFX0YgaXMgaW5jbHVkZWQsIHRha2luZyBvdXQgY2FzZXMgd2l0aG91dCBhc3NkIGluZm9ybWF0b2luCm5vX1VrbnMgPC0gZGF0YSAlPiUKICBmaWx0ZXIoVHhfWU4gIT0gIlVrbiIgJiBHUkFERV9GICE9ICJOQS9Vbmtvd24iKSAlPiUKICBkcm9wbGV2ZWxzKCkKCiMgMzg1MSBjYXNlcyBsZWZ0CgpmaXRfdHggPC0gZ2xtKFR4X1lOIH4gCiAgICAgICAgICAgICAgICAgRkFDSUxJVFlfVFlQRV9GICsgRkFDSUxJVFlfTE9DQVRJT05fRiArIENST1dGTFkgKyAKICAgICAgICAgICAgICAgICBEWF9TVEFHSU5HX1BST0NfREFZUyArIAogICAgICAgICAgICAgICAgIEFHRV9GICsgU0VYX0YgKyBSQUNFX0YgKyBISVNQQU5JQyArIElOU1VSQU5DRV9GICsgSU5DT01FX0YgKyAKICAgICAgICAgICAgICAgICBFRFVDQVRJT05fRiArIFlFQVJfT0ZfRElBR05PU0lTICsgU0lURV9URVhUICsgR1JBREVfRiwKICAgZGF0YSA9IG5vX1VrbnMpCgojIHRvb2sgb3V0IAoKc3VtbWFyeShmaXRfdHgpICMgaW5pdGlhbCByZXNpZHVhbCA9IDU4My4wNwoKZXhwKGNiaW5kKCJPZGRzIHJhdGlvIiA9IGNvZWYoZml0X3R4KSwgY29uZmludC5kZWZhdWx0KGZpdF90eCwgbGV2ZWwgPSAwLjk1KSkpCmBgYAoKIyMgTWV0YXN0YXNpcyBhdCBUaW1lIG9mIERpYWdub3NpcwpgYGB7cn0KCmZpdF9tZXRzIDwtIGdsbShtZXRzX2F0X2R4X0YgfiBGQUNJTElUWV9UWVBFX0YgKyBGQUNJTElUWV9MT0NBVElPTl9GICsgQ1JPV0ZMWSArIAogICAgICAgICAgICAgICAgIERYX1NUQUdJTkdfUFJPQ19EQVlTICsgCiAgICAgICAgICAgICAgICAgQUdFX0YgKyBTRVhfRiArIFJBQ0VfRiArIEhJU1BBTklDICsgSU5TVVJBTkNFX0YgKyBJTkNPTUVfRiArIAogICAgICAgICAgICAgICAgIEVEVUNBVElPTl9GICsgWUVBUl9PRl9ESUFHTk9TSVMgKyBTSVRFX1RFWFQgKyBHUkFERV9GLAogICBkYXRhID0gZGF0YSAlPiUgZmlsdGVyKEdSQURFX0YgIT0gIk5BL1Vua293biIpKQoKc3VtbWFyeShmaXRfbWV0cykgIyBpbml0aWFsIHJlc2lkdWFsOiAwLjk2NTk4CgpleHAoY2JpbmQoIk9kZHMgcmF0aW8iID0gY29lZihmaXRfbWV0cyksIGNvbmZpbnQuZGVmYXVsdChmaXRfbWV0cywgbGV2ZWwgPSAwLjk1KSkpCmBgYA==